Symfony2服务结构

时间:2012-04-13 18:08:01

标签: php symfony soa

我很难理解Symfony2服务。我到处都读过很多东西(包括SO中的一些东西),但似乎都没有完全解释它。

假设我有一个捆绑包A和一个单独的捆绑包B.我希望A捆绑包可以使用B功能。我想在服务容器中注入B,以便A能够使用它。

哪个捆绑包应该有一个Services目录?哪一个应该有配置文件?如果需要的话?扩展在哪里?为什么呢?

2 个答案:

答案 0 :(得分:3)

Bundle B将需要一个Extension才能加载它的services.xml文件。

Bundle B将需要在其services.xml文件中输入一个条目来定义服务。

Bundle B将拥有包含服务类的Services目录,该服务类公开了所需的功能。

捆绑A不需要任何特殊的东西。它将能够使用容器来访问Bundle B公开的服务。只需要知道服务ID。

在你提供一些服务之前,它会让人感到困惑。

答案 1 :(得分:1)

首先阅读这两个问题及其答案:

假设您正在讨论特定于应用程序的捆绑包,我建议只使用一个捆绑包并保留服务。然后,您可以通过多种方式注册您的服务: