当您使用通配符侦听器时,有没有办法获取正在触发的事件的名称?
我使用以下听众:
Event::listen('sentinel.user.login', function (){
$userLog = new UserLog;
$logData = array('eventDescription' => "User login.");
$userLog->submitLog($logData);
});
我想改变它以捕获使用外卡这样的哨兵用户名触发的任何事件:
'sentinel.user.*'
然后使用触发的特定事件作为eventDescription
的值:
$logData = array ('eventDescription' => $eventName);
我阅读了文档和API并且无法找到我将如何做到这一点,但似乎必须有一些方法。
有人能指出我正确的方向吗?
由于
答案 0 :(得分:3)
您可以执行Event::firing()
,它将获取已触发的最后一个事件的名称。通常这会做你想要的,但如果你有嵌套事件可能会很复杂。
答案 1 :(得分:1)
在Laravel 5中,最好的方法是使用用户事件订阅者: https://laravel.com/docs/5.1/events#event-subscribers