实例详解Laravel事件监听
发布时间 - 2022-04-12 00:00:00 点击率:次本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于事件监听的相关问题,实现事件监听的步骤是创建事件、创建监听、绑定事件与监听然后触发事件,下面根据示例一起来看一下,希望对大家有帮助。
【相关推荐:laravel视频教程】
Laravel Event & Listener 事件监听机制,让开发者不光是可以把代码组织得更加有条理的手段,而且也是对现实社会运行规则的高度抽象化映射,我们的现实社会本来也是这样,我们监控事物的变化,并对变化做出反应,让事物的发展按照我们的预期发展。当现实映射到代码逻辑中时,事件及其处理逻辑通常是分开的,毕竟不是所有的事件我们都需要马上进行响应处理。结合队列,我们可以把事件的监听和处理的工作流程做到更加完美。
使用案例:
监听log日志文件大小变化
用户登录:记录用户登录次数、记录访问相关信息
实现事件监听步骤:
1、创建事件:event
2、创建监听:listener
3、绑定事件与监听
4、触发事件
一、手动创建事件与监听
1、创建登录事件:event
app/Events/UserLogin.php
php artisan make:event UserLogin//获取用户信息实例
public function __construct(User $user){
$this->user = $user;}2、创建用户登录邮件发送监听,同时绑定UserLogin登录事件:listener
app/Listeners/EmailAdminUserLogin.php
php artisan make:listener EmailAdminUserLogin --event=UserLogin //日志打印登录用户信息public function handle(UserLogin $event)
{// dd($event);
//日志打印登录用户信息
Log::info($event->user->name . '已经登录');
}
3、注册事件与监听绑定关系
一个事件可以对应多个监听
app/Providers/EventServiceProvider.php
protected $listen = [
'App\Events\UserLogin' => [
'App\Listeners\EmailAdminUserLogin',
],];4、在用户登录时候触发事件
app/Http/Controllers/Aut
h/LoginController.php
//覆写AuthenticatesUsers类的authenticated方法protected function authenticated(Request $request, $user){
//触发事件
event(new UserLogin($user));}二、快速生成事件与监听
这里会根据app/Providers/EventServiceProvider.php中属性listen生成对应的事件与监听
php artisan event:generate
【相关推荐:laravel视频教程】
# laravel
# 用户登录
# 绑定
# 多个
# 我们可以
# 带来了
# 给大家
# 相关信息
# 并对
# 相关知识
# 中时
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JavaScript中的标签模板是什么_它如何扩展字符串功能
北京专业网站制作设计师招聘,北京白云观官方网站?
怎么用AI帮你为初创公司进行市场定位分析?
Windows Hello人脸识别突然无法使用
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
如何在Windows环境下新建FTP站点并设置权限?
Laravel Fortify是什么,和Jetstream有什么关系
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
如何在宝塔面板中修改默认建站目录?
利用vue写todolist单页应用
Python高阶函数应用_函数作为参数说明【指导】
动图在线制作网站有哪些,滑动动图图集怎么做?
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
Laravel如何使用Sanctum进行API认证?(SPA实战)
Laravel怎么实现验证码(Captcha)功能
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Laravel如何处理和验证JSON类型的数据库字段
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
Swift中switch语句区间和元组模式匹配
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
javascript中对象的定义、使用以及对象和原型链操作小结
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
高端建站如何打造兼具美学与转化的品牌官网?
大型企业网站制作流程,做网站需要注册公司吗?
如何在新浪SAE免费搭建个人博客?
如何挑选高效建站主机与优质域名?
Laravel如何为API生成Swagger或OpenAPI文档
如何用IIS7快速搭建并优化网站站点?
米侠浏览器网页背景异常怎么办 米侠显示修复
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Swift中swift中的switch 语句
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
公司门户网站制作流程,华为官网怎么做?
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
PHP 500报错的快速解决方法
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
🚀拖拽式CMS建站能否实现高效与个性化并存?
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
如何用AWS免费套餐快速搭建高效网站?
如何快速搭建自助建站会员专属系统?
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
C#如何调用原生C++ COM对象详解
node.js报错:Cannot find module 'ejs'的解决办法

