4
我在Symfony2中構建了一個應用程序,它通過API接收HTML字符串,對它做了一些工作(想到像Tidy庫這樣的東西,僅用於不同的目的),然後返回固定的HTML。我在Symfony2中存儲服務的地方
做所有工作的東西主要是寫在服務中,因爲它們不需要返回一個Response對象。
我在哪裏存儲這些服務?我把它們放在一起,但沒有明顯的地方來存儲它們。我明白,他們可以存儲在任何地方,但我想知道默認約定是什麼。
我在Symfony2中構建了一個應用程序,它通過API接收HTML字符串,對它做了一些工作(想到像Tidy庫這樣的東西,僅用於不同的目的),然後返回固定的HTML。我在Symfony2中存儲服務的地方
做所有工作的東西主要是寫在服務中,因爲它們不需要返回一個Response對象。
我在哪裏存儲這些服務?我把它們放在一起,但沒有明顯的地方來存儲它們。我明白,他們可以存儲在任何地方,但我想知道默認約定是什麼。
如果該代碼不需要在Symfony2項目之外重複使用,您可以將其放入您的包中。
我會去這樣的事情:
Acme\HtmlCleanerBundle\Cleaner\SimpleCleaner.php
既然是包,你可以將它解壓到一個單獨的包,並重新將其用於其他項目的Symfony2。
如果您希望代碼完全可重用且獨立,我建議您將其解壓縮到單獨的庫中。您仍然可以依賴於各個組件(無恥插件:您可以通過composer來管理這些依賴項,Symfony 2.1將使用這些依賴項)。
如果您決定沿着這條路走下去,該軟件包通過爲它提供DI容器配置來簡單地將庫集成到Symfony2中。
服務真的沒有約定。你應該遵循這些通用捆綁指南:http://symfony.com/doc/current/cookbook/bundles/best_practices.html,也許看一些其他第三方捆綁組織的想法。 – Cerad 2012-03-15 13:29:27
@Cerad啊奇妙的鏈接謝謝你。我希望Symfony網站組織得更好,以便您可以找到這些東西。 – 2012-03-15 14:08:12
確實,基於示例和社區響應,我一直使用'Vendor \ Bundle \ Service \ FooBarService.php' – Nick 2012-03-15 16:53:42