从service.yml获得价值

时间:2019-04-30 14:58:36

标签: php symfony symfony-3.4

我想为我的所有应用程序创建常量值。

为此,文档似乎在app / config / services.yml中做了类似的事情

parameters:
    #parameter_name: value
    CODE_OK: !php/const 200
    CODE_CREATED: !php/const 201
    CODE_MISSING_ARG : !php/const 400
    CODE_INVALID_ARG : !php/const 419

现在我希望能够在Controller内使用这些值...但是我找不到好的方法。可能使用service.yml是不正确的方法。

1 个答案:

答案 0 :(得分:2)

您正在寻找的是:

$this->container->getParameter($varName);

您可以将参数作为构造函数参数注入,也可以在方法中使用自动装配。

如果您愿意像示例中那样使用php常量,则可能应将其与参数保持一致。

如果没有,我建议您创建一个带有常量的类。

abstract class Constants
{
   const VAR = 'content';
}

并以其他方式使用它:

$var = Constants::VAR;

该类不必是抽象的,但因为它不会被实例化...

请注意,实际上不建议直接从控制器使用参数,因为应该在服务中使用参数。