2012-04-13 105 views
0

我很難理解Symfony2服務。我讀過很多東西(包括一些在這裏),但似乎沒有完全解釋它。Symfony2服務結構

假設我有一個包A和一個分離的包B.我希望B包可用於A包。我想在服務容器中注入B,以便A能夠使用它。

哪個包應該有一個Services目錄?哪一個應該有一個配置文件?兩者如果需要? Extension的位置在哪裏?爲什麼?

回答

1

首先閱讀這兩個問題,我的回答對他們說:

假設你正在談論的應用程序特定的軟件包,我建議有一個包只有和保留服務。然後,你可以通過幾種方式註冊您的服務:

+0

感謝您的信息。 – phasmatis 2012-04-13 19:46:36

3

Bundle B將需要一個擴展才能加載它的services.xml文件。

Bundle B將需要在其services.xml文件中輸入條目來定義服務。

Bundle B將包含服務目錄,其中包含可顯示所需功能的服務類。

Bundle A不需要任何特別的東西。它將能夠使用容器訪問由Bundle B公開的服務。只需要知道服務ID。

直到您提供了一些服務之前,這會讓您感到困惑。

+0

謝謝,現在有些道理。即使我沒有測試,但這是迄今爲止最有效的解釋(如果它是正確的),我已閱讀。 – phasmatis 2012-04-13 20:19:13