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
}

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

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年前 评论