Symfony2放置自定义帮助程序类的位置

Eri*_*ron 26 symfony

我开始使用Symfony2项目.我知道框架基础知识,但我有一个问题:在我为帮助或业务逻辑创建的帮助程序类的适当位置在哪里?

Ada*_*les 13

马克斯的回答是正确的.但是我质疑他为你的代码推荐的路径.

以下类和文件具有特定的位置:

服务容器扩展(属于)DependencyInjection /

来自http://symfony.com/doc/current/cookbook/bundles/best_practices.html

这表示您的服务应放在名为"DependencyInjection"的文件夹中,而不是"服务".完整的,它应该是src/Foo/BarBundle/DependencyInjection

我说这是一个拥有前者的人,刚刚将他们全部移动到后者(!)

  • 你错了,你必须在DependencyInjection中存储DI Extensions,而不是服务本身.http://symfony.com/doc/current/best_practices/business-logic.html (10认同)

Pac*_*nSV 8

@Adam说错了,您必须将Dependency Injection Extensions存储在DependecyInjection目录中,而不是服务本身.在文档中说,您可以将(自定义)业务逻辑类存储在您喜欢的任何位置.

http://symfony.com/doc/current/best_practices/business-logic.html


Max*_*cki 6

保持业务逻辑的最佳方法是创建服务来处理所有逻辑.所以它会在:

src/Foo/BarBundle/Service
Run Code Online (Sandbox Code Playgroud)

你需要在服务中调用该服务services.yml.