Symfony 2 事件侦听器并获取 URL 参数
Symfony 2 Event Listener And Get URL Parameters
我有这个事件侦听器 class :
<?php
namespace Vdv\TimesheetsBundle\Event;
use Oneup\UploaderBundle\Event\PostPersistEvent;
use Symfony\Component\HttpFoundation\Request;
class UploadListener {
public function __construct($doctrine) {
$this->doctrine = $doctrine;
}
public function onUpload(PostPersistEvent $event) {
$request = $event->getRequest();
}
}
和这个 url :
http://localhost/vdvinfra/web/app_dev.php/timesheet/add/1/252
我想从 url 中获取一些参数(id)。
我怎样才能在事件侦听器中获取它 class。
当我 var_dump this...
时变量 $_GET 为空
谢谢!
您可以将 @request_stack
注入您的事件侦听器,就像您已经对 doctrine 所做的那样:
public function __construct($doctrine, $requestStack) {
$this->doctrine = $doctrine;
$this->request = $requestStack->getCurrentRequest();
// access the parameters like this:
$allParams = $this->request->attributes->all();
$someParam = $this->request->attributes->get('parameter_name');
}
我有这个事件侦听器 class :
<?php
namespace Vdv\TimesheetsBundle\Event;
use Oneup\UploaderBundle\Event\PostPersistEvent;
use Symfony\Component\HttpFoundation\Request;
class UploadListener {
public function __construct($doctrine) {
$this->doctrine = $doctrine;
}
public function onUpload(PostPersistEvent $event) {
$request = $event->getRequest();
}
}
和这个 url :
http://localhost/vdvinfra/web/app_dev.php/timesheet/add/1/252
我想从 url 中获取一些参数(id)。 我怎样才能在事件侦听器中获取它 class。 当我 var_dump this...
时变量 $_GET 为空谢谢!
您可以将 @request_stack
注入您的事件侦听器,就像您已经对 doctrine 所做的那样:
public function __construct($doctrine, $requestStack) {
$this->doctrine = $doctrine;
$this->request = $requestStack->getCurrentRequest();
// access the parameters like this:
$allParams = $this->request->attributes->all();
$someParam = $this->request->attributes->get('parameter_name');
}