每个包的参数.yml,symfony2

Max*_*nck 8 php doctrine symfony

我想知道是否可以为每个捆绑包定义一个parameters.yml文件,或者仅为需要它的捆绑包定义并加载它们.

我搜索了很多,但我找不到这样的解决方案.

Tho*_*ire 15

你应该澄清一下; 您希望每个捆绑包自动包含parameters.yml文件吗?我担心你需要修改Symfony的DI核心.虽然有一个简单的选择.

如果您使用某些创建自己的包,DependencyInjection则可以添加$loader->load('parameters.yml');包的扩展类.

扩展类应位于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
    }
}
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下parameters.yml文件将在YourBundle/Resources/config/parameters.yml.