好的,我正在创建一个我打算在Drupal 8站点中使用的自定义独立库。 Drupal 8在Symfony 2.8.x上运行。我希望这段代码可以在Drupal之外使用。所以我一直专注于使它更加面向Symfony而不是Drupal。
到目前为止,我所发现的是,Symfony要求您在DependencyInjection / Configuration.php中编写一堆配置声明。以及MyBundleExtension.php文件中的服务声明。
我还没有找到一个简单的方法来说“嘿,我想在这个独立的(不是所有的控制器)类中使用这个配置参数”。所以我写下了你在下面看到的课程。
有没有更好的方法来解决这个问题?
代码:http://pastebin.com/pdp53kxe
此外,这会在加载服务时产生任何问题吗?
在某些时候,我必须处理依赖注入,实际上是我们要注入的内容。在使用Symfony框架时,仍然不确定如何将其用于此独立库。所以关于如何让Symfony为我提供的建议会很棒。
我的基本问题是在库设置中使用Symfony。您不希望在控制器上下文中只需要变量。
答案 0 :(得分:1)
就像你说的,如果你想导入配置,你需要使用你的DependecyInjection/MyBundleExtension.php
类来自己加载配置(甚至可以解析)。
另一种方法是使用编译器传递来直接操作容器,但这看起来对你的情况来说太过分了。
主要原因是编译了依赖注入容器(包含所有服务定义和配置参数)。
所以你必须在编译之前注入额外的配置。
有用的链接:
http://symfony.com/doc/current/service_container/import.html
http://symfony.com/doc/current/service_container/compiler_passes.html