当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《Symfony2.8:从2.7.7更新到2.8.0后isScopeActive弃用》经验,为你挑选了1个好方法。

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

从版本2.8开始,不推荐使用Symfony\Component\DependencyInjection\Container :: isScopeActive方法,并且将在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 cache clear时出现异常:

[Symfony\Component\DependencyInjection\Exception\InactiveScopeException]您无法创建非活动范围("请求")的服务("请求").

有没有办法替换isScopeActive检查?

谢谢...



1> Mantas..:

只需注入request_stack而不是request调用getCurrentRequest().

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有