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
}

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

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

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

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

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

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

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

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

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

Laravel

Laravel

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

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

1个月前 评论

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