将字符串附加到YAML样式的参数中

时间:2017-03-16 15:36:33

标签: symfony

主要目标是避免创建另一个参数

parameters.yml包含以下行:

base_url: /v2/frontend/

如果网站在dev环境中运行,我需要添加正面控制器。

我尝试在config_dev.yml覆盖它,但已提出ParameterCircularReferenceException

base_url: %base_url%/app_dev.php

我尝试在我的捆绑Symfony\Component\HttpKernel\DependencyInjection\Extension

的扩展程序中执行此操作

MyExtension

class MyExtension extends \Symfony\Component\HttpKernel\DependencyInjection\Extension
{
     public function load(array $configs, ContainerBuilder $container) 
     {
          ....
          if ('dev' === $c->getParameter('kernel.environment') && $c->getParameter('kernel.debug')) {
              $baseUrl = $container->getParameter('base_url');

              $container->setParameter('base_url', $baseUrl . '/' . $c->getParameter('frontalcontroller'));
          }
          // $container->getParameter('base_url') is updated here
     }

但是当我在服务中注入base_url时,我意识到base_url没有改变,它始终包含parameters.yml

中设置的初始值

如何动态编辑参数值,例如

$v = 'value';
$v .= '_appended';
// $v === 'value_appended' at this stage
  

symfony 2.6

0 个答案:

没有答案