如何从控制器外的parameters.yml中检索参数?

时间:2017-05-11 14:57:28

标签: php symfony symfony-console

我需要来自parameters.yml课程中Command\ContainerAwareCommand的参数。我在那里看不到$this->getParameter()

是否有一种从parameters.yml外部控制器检索参数的简单方法?

比以下更简单: 写下“友好配置”,并将参数foo放入config.yml,然后在DependencyInjection\Extension::load()中检索参数,并设置它:$container->setParameter('foo', $foo),最后在Command\ContainerAwareCommand中检索它$this->getContainer()->getParameter('foo')

1 个答案:

答案 0 :(得分:5)

您只需通过以下方式访问容器:

... extends ContainerAwareCommand

...
$this->getContainer()->getParameter('my-params');

编辑:

您可以定义自己的自定义参数,然后在主config.yml文件中导入,例如:

config.yml

imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: services.yml }
    - { resource: "@ApplicationBundle/Resources/config/parameters.yml" }

希望这个帮助