我想在laravel项目中注册一些事件监听器。为此,我将以下内容添加到start\global.php
文件的底部:
use UserLog;
$userLog = new UserLog;
Event::listen('sentinel.user.login', function (){
$logData = array('eventDescription' => "User login.");
$userLog->submitLog($logData);
});
当我执行触发该事件的操作时,我收到错误消息he use statement with non-compound name 'UserLog' has no effect
use UserLog
应该是班级models\UserLog.php
。它适用于我的其他文件,但不适用于global.php。我认为这是因为类尚未自动加载,但代码在ClassLoader
运行后运行。
是否无法向global.php
添加课程?有没有更好的地方我应该注册活动?
答案 0 :(得分:0)
尝试使用它(Discussed):
use \UserLog;
请注意,对于命名空间名称(完全限定的命名空间名称) 包含名称空间分隔符,例如Foo \ Bar而不是全局 没有的名称,如FooBar),领先的反斜杠是 不必要且不允许,因为进口名称必须完全合格, 并且不会相对于当前名称空间进行处理。