2017-03-16 73 views
1

好的,所以我正在創建一個我打算在Drupal 8網站中使用的自定義獨立庫。 Drupal 8在Symfony 2.8.x上運行。我希望此代碼在Drupal外部可用。所以我專注於使它更多地面向Symfony,而不是面向Drupal。在自定義的Symfony兼容庫中配置文件

到目前爲止,我發現的所有搜索都是Symfony要求您在DependencyInjection/Configuration.php中編寫一組配置聲明。以及MyBundleExtension.php文件中的服務聲明。

我沒有找到的是一種簡單的方式來說「嘿,我希望這個配置參數在這個獨立的(不是所有的控制器)類」。所以我寫了你在下面看到的課程。

有沒有更好的方法來處理這個問題?

代碼:http://pastebin.com/pdp53kxe

此外,將在創建加載服務的任何問題?

在某些時候,我不得不處理依賴注入,實際上新增了我們要注入的內容。仍然不知道如何在使用Symfony框架的同時將其應用到這個獨立的庫中。所以關於如何讓Symfony電線適合我的建議會很棒。

我的基本問題是關於在庫設置中使用Symfony。您不希望在控制器上下文中只需要這些變量。

回答

1

就像你說的,如果你想導入配置,你需要使用DependecyInjection/MyBundleExtension.php類自己加載config(甚至可以解析)。

另一種方法是使用編譯器傳遞來直接操作容器,但是看起來這對您的情況會是一種矯枉過正。

主要原因是編譯了依賴注入容器(其中包含你所有的服務定義和配置參數)。

因此,您必須在編譯之前注入額外的配置。

幫助鏈接:

http://symfony.com/doc/current/service_container/import.html

http://symfony.com/doc/current/service_container/compiler_passes.html