15
リスナー内でapp_dev.phpを使用しているかどうかを知りたいとします(config.yml
のサービスとして設定されています)。これはgetEnvironment()で失敗しますが、これはコントローラで使用するメソッドです。symfony2は応答リスナーで現在の環境を取得します
public function onKernelResponse(FilterResponseEvent $event) {
$kernel = $event->getKernel();
$this->isAppDev = ($kernel->getEnvironment() == "dev") ? true : false;
}
編集ソリューション:私のリスナークラスで :config.ymlの下部にある
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;
}
:
services:
my.listener:
class: Path\To\Listener
tags:
- { name: kernel.event_listener, event: kernel.response }
arguments: [@kernel]
ありがとう、これらの手順を示すために私の質問を変更しました。 – ojreadmore
@ojreadmore 1+ mane! – mate64