php - Symfony2 在 YAML 配置中使用 PHP 类常量?

标签 php symfony yaml

我知道这可能是不可能的,但是有没有一种干净的方法可以在 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/

相关文章:

Python yaml 转储混淆

php - CakePHP API Blackhole - validatePost 禁用不起作用?

php - 在 php 中放置一些条件后,某些项目不会回显

c# - YamlDotNet - 自定义序列化

php - 功能测试 - 模拟服务不会持久存在于服务容器中

php - Symfony2 SonataClassificationBundle 从数据库查询

amazon-web-services - CloudFormation AWS::EC2::路由

PHP 单元,使用单元测试测试 laravel 日志消息

php - 如何在 google drive v3 PHP 中更新文件

mysql - 将日期时间字段放入主键会引发 fatal error