2012-05-07 12 views
15

Bir dinleyicinin içinden app_dev.php kullanıyorum (config.yml numaralı telefondan servis olarak ayarlanmış mıyım). Bu, getEnvironment() 'da başarısız olur, ancak bu, kontrolörde kullandığım yöntemdir.Symfony2 yanıt dinleyicisinde geçerli ortamı al

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

Düzenleme Çözüm: Benim dinleyici sınıfında:

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

config.yml alt tarafında:

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

cevap

İlgili konular