php - 每个包一个 parameters.yml,symfony2

标签 php symfony doctrine

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

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

最佳答案

你应该澄清一点;您希望每个 bundle 都自动包含一个 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
    }
}

所以在这种情况下,parameters.yml 文件将位于 YourBundle/Resources/config/parameters.yml 中。

关于php - 每个包一个 parameters.yml,symfony2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17763622/

相关文章:

php - 如何创建国际国家语言特定的 url

PHP: file_get_contents 带有 include() 的 PHP 文件;

php - 为什么 Symfony 仍然记录到 dev.log 文件,即使我没有在 loghandler 中定义它?

php - Doctrine ORM 中的类表继承

mysql - orderBy 和 group By 查询

php - 折线图不显示数据库中的数据

php - xCode 尝试使用 MySQL 登录

forms - Symfony2 form_label 原始

mysql - 在 OrderBy Doctrine Querybuilder 中使用 IS NULL 和 COALESCE

symfony - Sylius 产品包配置