Symfony 2.8:从2.7.7更新到2.8.0后isScopeActive弃用

时间:2015-12-07 15:17:07

标签: php symfony symfony-2.8

我已经从2.7.7更新到symfony 2.8了,我得到了这个弃用:

  

Symfony \ Component \ DependencyInjection \ Container :: isScopeActive   method从版本2.8开始不推荐使用,将在3.0中删除。

我在twig扩展类中使用此调用:

class TemplateHelper extends \Twig_Extension {

    private $request;

    private $container;


    /**
     * constructor
     * @param ContainerInterface $container
     */
    public function __construct(ContainerInterface $container){
        $this->container = $container;

        if( $this->container->isScopeActive('request') ){
            $this->request = $this->container->get('request');
        }
    }
    //...functions
    }

首先我删除了isScopeActive检查,但是当我运行symfony缓存清除时出现异常:

  

[Symfony的\元器件\ DependencyInjection \异常\ InactiveScopeException]   您无法创建非活动范围的服务("请求")   ("请求&#34)。

有没有办法替换isScopeActive检查?

...谢谢

1 个答案:

答案 0 :(得分:8)

只需注入request代替 setspn -a HTTP/adfs01.xyz.com <ActiveDirectory user> setspn -a HTTP/adfs01 <ActiveDirectory user> ,然后致电enter image description here