lumen 5.8 event事件与php event 类冲突,在bootstrop/app.php下重命名后,执行 event事件后还是有冲突

1. 运行环境

centos

1). 当前使用的 Laravel 版本?

lumen5.8

2). 当前使用的 php/php-fpm 版本?

PHP 版本:
7.4.30

php-fpm 版本:
7.4

3). 当前系统

cenots7

2. 问题描述?

在php开启event扩展后,报event类不能重复,从网上看需要重命名

$app->withFacades(true, [
    \Illuminate\Support\Facades\Event::class => 'LumenEvent',
]);

修改后类显示重复问题解决了。
但是在业务中使用event方法就报: 没有定义Event::dispatch方法

event(new UpdateUserLastLoginTimeEvent($result));
{
    "message": "Call to undefined method Event::dispatch()",
    "status_code": 500
}

想问下是否还需要在哪里做修改。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

event函数没有直接用到Event类的,可以全局搜下使用到\Event类的,把它改为你重新设置的别名LumenEvent

2个月前 评论
讨论数量: 13
陈先生

不是很懂哪里出现了冲突,可以展开说说么? 或者说报错的代码是在什么文件里面。

2个月前 评论
card123 (楼主) 2个月前
card123 (楼主) 2个月前

换个写法试试,比如这样:

app('events')->dispatch(new UpdateUserLastLoginTimeEvent($result));
2个月前 评论
card123 (楼主) 2个月前
dryang (作者) 2个月前
card123 (楼主) 2个月前
dryang (作者) 2个月前
陈先生

file
这个是 Laravel 启动的时候会 alias Class,
可看下图代码
file

Laravel

Laravel

2个月前 评论
card123 (楼主) 2个月前
陈先生 (作者) 2个月前
card123 (楼主) 2个月前

event函数没有直接用到Event类的,可以全局搜下使用到\Event类的,把它改为你重新设置的别名LumenEvent

2个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!