2015-12-07 3 views
6

Я обновил на Symfony 2.8 из 2.7.7 и я получаю это устаревание:Symfony 2.8: isScopeActive неодобрение после обновления до 2.8.0 от 2.7.7

В Symfony \ Component \ \ Container внедрение зависимости: : isScopeActive метод устарел с версии 2.8 и будет удален в версии 3.0.

Я использую этот вызов в классе расширения веточка:

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 \ Component \ DependencyInjection \ Exception \ InactiveScopeException] Вы не можете создать службу («запрос») неактивной области («запрос»).

Есть ли способ заменить проверку isScopeActive?

Благодаря ...

ответ

8

Просто инъекционные request_stack вместо request и называют getCurrentRequest().

+0

Это замена для замены, то есть '$ this-> container-> isScopeActive ('request')' для замены '$ requestStack-> getCurrentRequest()'? – crmpicco

Смежные вопросы