如何在Symfony 2中将PHP常量作为服务参数传递?

时间:2013-04-08 11:34:50

标签: symfony constants yaml

使用配置文件定义服务时,如何将PHP常量(在此示例中为CURLAUTH_DIGEST)作为构造函数参数传递?

现在无法测试,但我认为:

services:
    my_service:
        class: "%my_service.class%"
        arguments: [CURLAUTH_DIGEST]

无效,因为CURLAUTH_DIGEST已转换为string

1 个答案:

答案 0 :(得分:13)

这是一种方法

  1. 在配置中添加一行以包含.php配置

    应用/配置/ config.yml

    imports:
        - { resource: constants.php }
    
  2. 创建新文件constants.php

    应用/配置/ constants.php

    <?php
    
    $container->setParameter('curlauth.digest', CURLAUTH_DIGEST);
    
  3. 您现在可以在服务中访问此常量

    @捆绑/资源/配置/ services.yml

    services:
        my_service:
            class: "%my_service.class%"
            arguments: [%curlauth.digest%]