2012-05-07 15 views
15

Mi piacerebbe sapere se sto utilizzando app_dev.php da un listener (impostato come servizio in config.yml). Non riesce a getEnvironment() anche se questo è il metodo che uso nel controller.Symfony2 ottiene l'attuale ambiente nell'ascoltatore di risposta

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

Modifica Soluzione: Nella mia classe ascoltatore:

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; 
} 

In fondo config.yml:

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

risposta

Problemi correlati