Php Symfony2服务结构
我很难理解Symfony2服务。我到处都读过很多东西(包括SO中的一些),但似乎没有一本能完全解释这一点 假设我有一个bundle a和一个分离的bundle B。我希望a bundle可以使用B功能。我想在服务容器中注入B,以便A能够使用它Php Symfony2服务结构,php,symfony,soa,Php,Symfony,Soa,我很难理解Symfony2服务。我到处都读过很多东西(包括SO中的一些),但似乎没有一本能完全解释这一点 假设我有一个bundle a和一个分离的bundle B。我希望a bundle可以使用B功能。我想在服务容器中注入B,以便A能够使用它 哪个捆绑包应该有服务目录?哪一个应该有配置文件?如果需要,两者都可以吗?分机在哪里?为什么?请先阅读这两个问题以及我对它们的回答: , 假设你谈论的是特定于应用程序的捆绑包,我建议只使用一个捆绑包,不要使用服务。然后,您可以通过多种方式注册您的服务:
哪个捆绑包应该有服务目录?哪一个应该有配置文件?如果需要,两者都可以吗?分机在哪里?为什么?请先阅读这两个问题以及我对它们的回答:
- ,
- 直接在
中config.yml
- 在
中创建,或AppBundle
- 通过来自的注释-这是我个人更喜欢的
- ,
- 直接在
中config.yml
- 在
中创建,或AppBundle
- 通过来自的注释-这是我个人更喜欢的
在您创建一些服务之前,它是令人困惑的。Bundle B需要一个扩展名才能加载它的services.xml文件 Bundle B需要在其services.xml文件中有一个条目来定义服务 Bundle B将具有包含您的服务类的服务目录,该服务类公开了所需的功能 捆绑包A不需要任何特殊的东西。它将能够使用容器访问捆绑包B公开的服务。只需要知道服务id
在你做一些服务之前,这是令人困惑的。谢谢,现在有点道理了。尽管我还没有测试,但这是我读过的最有效的解释(如果它是正确的)。谢谢,现在它有了一些意义。尽管我还没有测试,但这是迄今为止我读过的最有效的解释(如果它是正确的)。