2012-05-07 15 views
15

Me gustaría saber si estoy usando app_dev.php desde un oyente (configurado como un servicio en config.yml). Falla en getEnvironment() aunque este es el método que uso en el controlador.Symfony2 obtener el entorno actual en el oyente de respuesta

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

Editar Solución: En mi clase de escucha:

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

En la parte inferior de config.yml:

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

Respuesta

Cuestiones relacionadas