我想知道是否可以为每个包定义一个 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/