向 Symfony Flex 项目添加配置
Adding configuration to Symfony Flex project
我正在尝试为我的 Symfony Flex 应用程序定义一些自定义配置值(将填充 .env 值),但所有文档都假设我使用的是一个包,就像这个:https://symfony.com/doc/current/bundles/extension.html
我有一个自定义命名空间,类似于 'Foo\Bar',所以我虽然应该将扩展 class 命名为 src\DependencyInjection\FooBarExtension.php
,但这不起作用。
有谁知道如何加载我的自定义配置?
编辑:以下解决方案有效:
将配置文件 foo.yaml
放入 config/packages
将FooExtension.php
放入src/DependencyInjection
将以下代码添加到Kernel.php
public function build(ContainerBuilder $container)
{
$container->registerExtension(new FooExtension());
parent::build($container);
}
在 Symfony 4.1 中,您应该能够通过覆盖 build()
method. There, you can register your extensions 在您的 AppKernel
中注册一个新的扩展,这反过来又使您能够解析您自己的配置文件。
我正在尝试为我的 Symfony Flex 应用程序定义一些自定义配置值(将填充 .env 值),但所有文档都假设我使用的是一个包,就像这个:https://symfony.com/doc/current/bundles/extension.html
我有一个自定义命名空间,类似于 'Foo\Bar',所以我虽然应该将扩展 class 命名为 src\DependencyInjection\FooBarExtension.php
,但这不起作用。
有谁知道如何加载我的自定义配置?
编辑:以下解决方案有效:
将配置文件
foo.yaml
放入config/packages
将
FooExtension.php
放入src/DependencyInjection
将以下代码添加到
Kernel.php
public function build(ContainerBuilder $container) { $container->registerExtension(new FooExtension()); parent::build($container); }
在 Symfony 4.1 中,您应该能够通过覆盖 build()
method. There, you can register your extensions 在您的 AppKernel
中注册一个新的扩展,这反过来又使您能够解析您自己的配置文件。