2015-12-14 59 views
1

我打算爲Symfony3中的表單編寫一個AJAX擴展。我希望能夠以多種形式使用Ajax請求,而不是提交。Symfony:Bundles和Services之間的關係

現在我不明白捆綁和服務之間的確切關係。

據我所知,寫一個服務是正確的方法。同時我想讓我的代碼可重用,所以我可以在更多的項目中使用它。 我的擴展需要有一些JS和TWIG我猜。

因此,是否將我的服務部署到捆綁包中是正確的方法?還是他們捆綁他們自己?或者它們可以在沒有封裝的情況下部署?

回答

2

如果你想使你的代碼重用,你需要讓你的捆綁配置,基本步驟來實現它:

  1. 創建一個包: http://symfony.com/doc/current/bundles/SensioGeneratorBundle/commands/generate_bundle.html

  2. 使其成爲配置: http://symfony.com/doc/current/cookbook/bundles/configuration.html

  3. 您需要將它放在另一個存儲庫中,稍後使用git submodule或packagist讀取它,具體取決於您的策略y或者如果它是私人的。

這個步驟將意味着你的包不能依賴於你的項目中內部創建的任何類,我會建議你去檢查一下其他的包。 一個很好的例子可以是Tactitian包,它將聯盟管道庫集成到SF https://github.com/thephpleague/tactician-bundle 在這段代碼中,您可以看到他們如何配置庫並在其周圍創建服務!

我希望這可以幫助你!

+1

thephpleague/tactician-bundle採用標準策略庫,只添加Symfony特定的配置和一些代碼。如果你自己的代碼是有用的,特別是如果它在Symfony應用程序之外使用的話,那麼做類似的操作可能會非常有幫助 - 將核心庫從bundle中分離出來。這種情況也可能會在稍後發生 - 如果以後在應用程序之外有用的話。 –

+0

感謝您加強@AlisterBulman –

相關問題