Laravel事件之异步处理的示例

  介绍

小编给大家分享一下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事件之异步处理的示例