我使用EventListener检查访问每个控制器的用户的权限并记录这些操作。我现在想为每个调用添加一个唯一标识符并将其添加到日志中。
虽然在EventListener中很容易,但有没有办法使用在调用EventListener的Controller中的EventListener中创建的相同$var
?
示例:
用户访问Controller :: Something - >调用EventListener 创建了唯一的
$uid
- >使用$uid
内部的public function onKernelController(FilterControllerEvent $event) { $uid = rand(); ... /* Log Action */ $this->log->writeLog('SOME MESSAGE', __LINE__, 3, $uid); ... }
控制器再次。
我的EventListener:
/**
* @Route("/admin/_ajax/_saveNewClient", name="saveNewClient")
*/
public function saveNewClientAction(Request $request)
{
//DO STH
...
/* Log Action */
$this->get('log')->writeLog(
'OTHER MESSAGE AFTER EVENTLISTENER', __LINE__, 1, $uid); //$uid from EventListener
...
}
我的控制器:
^(?!D|Ca).*$
答案 0 :(得分:0)
你可以使用session:
$session = new Session();
$session->start();
// set and get session attributes
$session->set('LINE', 'value');
$session->get('LINE');