我知道这可能是不可能的,但是有没有一种干净的方法可以在 YAML 配置/服务/等中使用 PHP 类常量。 Symfony2 的文件?
例如,如果我有这个:
namespace My\Bundle\DependencyInjection;
class MyClass
{
const MY_CONST = 'cookies';
}
这样的事情可能吗(在 .yml 文件中):
services:
my_service:
class: Some\Class
arguments:
- %My\Bundle\DependencyInjection\MyClass::MY_CONST%
这将大大有助于保持两者之间的一致性。
最佳答案
从 Symfony 3.2 开始,还可以使用特殊的 !php/const:
语法在 YAML 文件中使用 PHP 常量:
parameters:
bar: !php/const:PHP_INT_MAX
见 Symfony blog post了解更多详情。
请注意:在 Symfony 4 中,语法 was slightly changed .您必须使用空格而不是双冒号,例如:
parameters:
bar: !php/const PHP_INT_MAX
否则,您将收到带有消息“注意:未初始化的字符串偏移量”的 FileLoaderLoadException。
关于php - Symfony2 在 YAML 配置中使用 PHP 类常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14713913/