2012-05-07 8 views
15

Ich würde gerne wissen, ob ich app_dev.php aus einem Listener (als Service in eingerichtet) verwenden. Es schlägt bei getEnvironment() fehl, obwohl dies die Methode ist, die ich im Controller verwende.Symfony2 bekomme aktuelle Umgebung in Antwort Listener

public function onKernelResponse(FilterResponseEvent $event) { 
    $kernel = $event->getKernel(); 
    $this->isAppDev = ($kernel->getEnvironment() == "dev") ? true : false; 
} 

bearbeiten Lösung: In meiner Zuhörer Klasse:

use Symfony\Component\HttpFoundation\Response; 
use Symfony\Component\HttpKernel\Event\FilterResponseEvent; 
use Symfony\Component\HttpKernel\Kernel; 
private $kernel; 
public function __construct(Kernel $kernel) { 
    $this->kernel = $kernel 
} 
public function onKernelResponse(FilterResponseEvent $event) { 
    $this->isAppDev = ($this->kernel->getEnvironment() == "dev") ? true : false; 
} 

Am unteren Ende config.yml:

services: 
    my.listener: 
     class: Path\To\Listener 
     tags: 
      - { name: kernel.event_listener, event: kernel.response } 
     arguments: [@kernel] 

Antwort

Verwandte Themen