【问题标题】:Config files in a custom Symfony compatible library自定义 Symfony 兼容库中的配置文件
【发布时间】:2017-03-16 22:44:32
【问题描述】:

好的,所以我正在创建一个我打算在 Drupal 8 站点中使用的自定义独立库。 Drupal 8 在 Symfony 2.8.x 上运行。我希望这段代码可以在 Drupal 之外使用。所以我专注于让它更面向 Symfony,而不是面向 Drupal。

到目前为止,通过我的所有搜索,我发现 Symfony 要求您在 DependencyInjection/Configuration.php 中编写一堆配置声明。以及 MyBundleExtension.php 文件中的服务声明。

我还没有找到一种简单的方式来表达“嘿,我想在这个独立的(根本不是控制器)类中使用这个配置参数”。所以我写了你在下面看到的课程。

有没有更好的方法来处理这个问题?

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

另外,这会在加载服务时产生任何问题吗?

在某些时候,我必须处理依赖注入并实际上更新我们想要注入的内容。仍然不确定在使用 Symfony 框架的同时如何将其应用到这个独立的库中。所以关于如何让 Symfony 连线适合我的建议会很棒。

我的基本问题是关于在库设置中使用 Symfony。您不希望只需要控制器上下文中的变量。

【问题讨论】:

    标签: php symfony dependency-injection configuration drupal-8


    【解决方案1】:

    就像你说的,如果你想导入配置,你需要使用你的 DependecyInjection/MyBundleExtension.php 类来自己加载配置(甚至可能解析)。

    另一种方法是使用编译器传递来直接操作容器,但这看起来对你的情况来说有点过头了。

    主要原因是依赖注入容器(其中包含所有服务定义和配置参数)已编译。

    所以你必须在编译之前注入你的额外配置。

    有用的链接:

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

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

    【讨论】:

      猜你喜欢
      • 2020-03-22
      • 2014-05-03
      • 2014-05-04
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 2017-12-04
      • 2018-11-15
      • 2019-10-26
      相关资源
      最近更新 更多