介绍
小编给大家分享一下Laravel事件之异步处理的示例,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!
生成事件
php aritsan:事件测试
引用>事件和监听是听一对多的管理,一个事件对应多个响应事件
定一个<代码> $ data> 代码属性,赋值触发事件时传递的数据。
,,,public 元数据; ,,,/* * ,,,,*,Create a new event 实例。 ,,,, ,,,,*,@return 空白 ,,,*/,,,public function __construct(元数据) ,,,{ ,,,,,,,这个→美元data =,元数据; ,,,}如何在业务中触发?
,,,public function 测试(){ ,,,,,,测试:调度(& # 39;你好事件& # 39;); 以前,,}>添加监听者
php工匠:侦听器TestLisenter
引用>namespace 应用\ Lisenter; use 应用程序事件\ \测试;class TestLisenter { ,,,public function 处理(Test $测试) ,,,{ ,,,,,,,var_dump(美元测试→数据); ,,,,,,,//打印:你好事件 ,,,}}如何接受,“你好事件?”
这个时候我们要创建,听对象来处理业务逻辑
laravel有提供两种方案:
<编辑>方案一:编辑>在<代码> EventServiceProvider> 代码添加听数美元组信息比如:
/* * ,*应用程序的事件监听器映射 ,* ,* @var 数组 ,*/protected listen 美元;=,( ,,,& # 39;应用\ \测试# 39;事件,=祝辞,( ,,,,,,,& # 39;应用程序\听众\ TestListenter& # 39; ,,,,),<编辑>方案二:编辑>让系统自动处理,遍历指定目录
需要在<代码> EventServiceProvider> 代码,添加:/* * ,*确定是否应自动发现事件和侦听器 ,* ,* @return 保龄球 ,*/public function  shouldDiscoverEvents () { ,,,return 真实;}/* * ,*获取应该用于发现事件的监听器的目录 ,* ,* @return 数组 ,*/protected 才能;function  discoverEventsWithin () ,,,{ ,,,,,,,return [ ,,,,,,,,,,,这个美元→程序→路径(& # 39;Lisenter& # 39;),//事件关联的监听器目录app/Lisenters ,,,,,,,,,,,这个美元→程序→路径(& # 39;Lisenter/测试# 39;),//事件关联的监听器目录app/Lisenters/测试 ,,,,,,,); ,,,}系统会自动的匹配听
此时,已经完成了事件的流程。如果没有成功或者想知道更多事件的处理,比如,延时队列,判断是否要加入事件,处理失败之后的处理等等:参考文档
事件的队列处理
如果没有接触laravel的队列的小伙伴,先参考:laravel工作
只需要在TestLisenter实现ShouldQueue的接口即可
长这样:
namespace 应用\ Lisenter; use 应用程序事件\ \测试;use 阐明合同\ \队列\ ShouldQueue; class TestLisenter implements ShouldQueue { ,,,public function 处理(Test $测试) ,,,{ ,,,,,,,var_dump(美元测试→数据); ,,,,,,,//打印:你好事件 ,,,}}看完了这篇文章,相信你对“Laravel事件之异步处理的示例”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
Laravel事件之异步处理的示例