簡體   English   中英

每個包的參數.yml,symfony2

[英]A parameters.yml per bundle, symfony2

我想知道是否可以為每個捆綁包定義一個parameters.yml文件,或者僅為需要它的捆綁包定義並加載它們。

我搜索了很多,但我找不到這樣的解決方案。

你應該澄清一下; 您希望每個捆綁包自動包含一個parameters.yml文件嗎? 我擔心你需要修改Symfony的DI核心。 雖然有一個簡單的選擇。

如果您使用一些DependencyInjection創建自己的包,那么您可以添加$loader->load('parameters.yml'); 在bundle的擴展類中。

擴展類應位於YourBundle/DependencyInjection/YourBundleExtension.php

該類應如下所示

class YourBundleExtension extends Extension
{
    /**
     * {@inheritDoc}
     */
    public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $config = $this->processConfiguration($configuration, $configs);

        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
        $loader->load('services.yml');
        $loader->load('parameters.yml'); // Adding the parameters file
    }
}

所以在這種情況下, parameters.yml文件將在YourBundle/Resources/config/parameters.yml

如果您只想將捆綁包中的參數文件包含到配置中,只需按照常規格式從捆綁包中導入額外的配置文件(默認應用程序顯示如何通過路由執行此操作)。 更新您的配置以包含您的參數文件,如下所示:

imports:
    - { resource: parameters.yml }
    - { resource: @YourBundle/Resources/config/parameters.yml }
    - { resource: security.yml }
    - ...

您的參數文件應采用與默認格式相同的格式:

parameters:
    my.parameter: "my value"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM