我在哪里可以在Symfony2中存储服务

Dan*_*ows 4 symfony

我正在Symfony2中构建一个应用程序,它通过API接收HTML字符串,做一些工作(想想像Tidy库这样的东西,只有不同的目的),然后返回固定的HTML.

完成所有工作的东西主要是在服务中编写,因为它们不需要返回Response对象.

我在哪里存储这些服务?我把它们捆绑在一起,但没有明显的地方存放它们.我知道它们可以存储在任何地方,但我想知道默认约定是什么.

igo*_*orw 7

如果该代码不必在Symfony2项目之外可重复使用,则可以将其放入捆绑包中.

我会去做类似的事情:

Acme\HtmlCleanerBundle\Cleaner\SimpleCleaner.php
Run Code Online (Sandbox Code Playgroud)

由于它是一个包,您可以将其提取到一个单独的包中,并将其重新用于其他Symfony2项目.

如果您希望代码完全可重用且独立,我建议您将其解压缩到一个单独的库中.您仍然可以依赖于各个组件(无耻的插件:您可以通过作曲家管理这些依赖关系,这将由Symfony 2.1使用).

如果您决定沿着这条路走下去,那么捆绑包只是通过为它提供DI容器配置将库集成到Symfony2中.