Есть ли оптимальная практика для хранения различных параметров конфигурации, таких как длина почтового индекса, минимальная длина фамилии и т. д.?
Я хотел бы что-то вроде класса php со статическими функциями и свойствами, которые я могу использовать в любом месте моего проекта.




Для ветки 3. * я считаю, что файл services.yml - лучшее место для этого. Затем вы можете ввести эти значения в службы, которые в них нуждаются, или даже получить к ним доступ в своих контроллерах с помощью
$this->getParameter('param_name')
Подробнее об этом: см. Параметры обслуживания
Вы ищете услуги по параметрам.
В только что выпущенной версии 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 или собственная реализация. Это просто :)
В лучших практиках symfony они предлагают использовать параметры в services.yml, которые меняются, если вы никогда не измените этот параметр, поместите его в Entity как const или в какой-то абстрактный класс, который вы можете создать самостоятельно.
Документация по этому поводу:
https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
Как указывают другие ответы, вы можете сохранять параметры с помощью файла parameters.yml.
Но для меня вы просите об ограничении свойств сущности. Если вы используете Doctrine, вы можете использовать для этой цели аннотации, как описано в документации: https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/annotations-reference.html
а что делать, если мне нужен параметр не только в сервисе? Или мне нужно больше параметров? Должен ли я вводить их все? Я считаю этот подход не очень хорошим.