在Symfony 3.4中存储各种配置参数的位置

时间:2018-05-31 20:09:42

标签: symfony symfony-3.4

最佳做法是存储各种配置参数,例如邮政编码的长度,姓氏的最小长度等等吗?

我想要类似于具有静态函数和属性的php类,我可以在项目的任何地方使用它。

4 个答案:

答案 0 :(得分:0)

对于3. *分支,我发现services.yml文件是最佳选择。然后,您可以将这些值注入需要它的服务中,甚至可以使用

在控制器中访问它们
$this->getParameter('param_name')

有关此内容的更多信息:请参阅Service Parameters

答案 1 :(得分:0)

您正在寻找参数服务。

默认情况下刚刚发布的Symfony 4.1:https://symfony.com/blog/new-in-symfony-4-1-getting-container-parameters-as-a-service

在较旧的Symfony中使用包 https://github.com/Symplify/PackageBuilder/blob/master/README.md#2-all-parameters-available-in-a-service 或自己实施。很简单:)

答案 2 :(得分:0)

在symfony最好的实践中,他们建议使用services.yml中的参数更改,如果你永远不会将这个参数更改为实体作为const或你可以自己创建的一些抽象类。

有关它的文档:

https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration

答案 3 :(得分:0)

正如其他答案所指出的,您可以使用parameters.yml文件存储参数。

但是,对我而言,您要求对实体属性进行限制。如果您使用的是Doctrine,则可以为此目的使用注释,如文档中所述:https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/annotations-reference.html