模式:大概是通过一个自定义的event,一个handler,还有一个binder,然后用来简化通知模型

生成自定义的event

./artisan make:event MyEvent

生成自定义的handler

./artisan handler:event MyEventHandler --event=MyEvent

然后在EventServiceProvider里面添加,可以添加多个,演示就只注册一个了

protected $listen = ['App\Events\MyEvent' => ['App\Handlers\Events\MyEventHandler',],];

如果你要多个handler,可以先在EventServiceProvider里面写好,然后命令

./artisan event:generate

触发event

$aaaa = 'sfsdfsdf';
$response = Event::fire(new App\Events\MyEvent($aaaa));

你会发现,在handler的handle方法被触发,不过看phpdoc,这个方法似乎是void返回,不知道这个response有什么用处

--------------------------------------------------------------------------------------------------------------------------------------------

注册event事件组

保留上面的MyEvent,别的不要了

注册我们的MyEventGroupHandler,这里演示一个event,subscribe方法必须定义

<?php namespace App;class MyEventGroupHandler {/*** Handle user login events.*/public function onMyEvent($event){echo "MyEventGroupHandler";dd($event);}/*** Register the listeners for the subscriber.** @param  Illuminate\Events\Dispatcher  $events* @return array*/public function subscribe($events){$events->listen('App\Events\MyEvent', 'App\MyEventGroupHandler@onMyEvent');}
}

动态注册监听event

$subscriber = new App\MyEventGroupHandler;
Event::subscribe($subscriber);

触发事件

$podcast = 'sfsdfsdf';
$response = Event::fire(new App\Events\MyEvent($podcast));

xdebug发现,MyEventGroupHandler的onMyEvent被断下

如果原来的myEventHandler也被注册,也能得到通知。

发现两种方式似乎没太大区别,一个静态注册,另一个动态注册,留着以后再说吧

转载于:https://www.cnblogs.com/ziyouchutuwenwu/p/4274539.html

laravel里面使用event相关推荐

  1. laravel event

    EventServiceProvider namespace App\Providers;class EventServiceProvider extends ServiceProvider {pro ...

  2. php npm,php – Laravel中NPM,Composer和Bower的区别?

    所以在Laravel有Composer,NPM和Bower,我知道他们都是deoendancy经理. Composer – 这似乎关注PHP依赖关系,包列表是composer.json的内容控制器.要 ...

  3. [Laravel 5.3] Notification 个人理解,及 BearyChat Channel 新鲜出炉

    Laravel Notification Laravel 5.3 提供了一种全新的发送通知的方式:Notification .个人理解是可以基于某事件(操作)触发一系列的通知任务,而通知方式由 Cha ...

  4. kibana 喊话_使用Laravel事件创建实时喊话箱

    kibana 喊话 介绍 (Introduction) Laravel is undoubtedly a very powerful framework with a lot of batteries ...

  5. 基于 lumen 的微服务架构实践

    lumen 为速度而生的 Laravel 框架 官网的介绍很简洁,而且 lumen 确实也很简单,我在调研了 lumen 相关组件(比如缓存,队列,校验,路由,中间件和最重要的容器)之后认为已经能够满 ...

  6. laravel5.8 pusher socket.io

    背景 用于扫码状态,广播事件等简单websocket服务,框架laravel5.8 pusher 基于pusher外部服务,使用简单,可以在任何框架中使用,laravel只是将发布广播使用了事件触发( ...

  7. Laravel框架中的event事件操作

    有时候当我们单纯的看 Laravel 手册的时候会有一些疑惑,比如说系统服务下的授权和事件,这些功能服务的应用场景是什么,其实如果没有经历过一定的开发经验有这些疑惑是很正常的事情,但是当我们在工作中多 ...

  8. Laravel event 事件的简单使用

    有时候当我们单纯的看 Laravel手册的时候会有一些疑惑,比如说系统服务下的授权和事件,这些功能服务的应用场景是什么,其实如果没有经历过一定的开发经验有这些疑惑是很正常的事情,但是当我们在工作中多加 ...

  9. Laravel事件Event

    适用场景:记录文章浏览量 php artisan make:event 事件名 示例: php artisan make:event MyEvent Laravel目录\app\Events已经生成M ...

最新文章

  1. “利他主义者”乔治·普莱斯的一生(全文翻译自Independent)
  2. Windows 8 图标前面的勾选
  3. Camera框架初探
  4. python读取文件第n行-python读取文件第n行
  5. opencv 计数后不动了 训练模型时_用OpenCV和深度学习进行年龄识别
  6. java set 包含_关于Java的Set的集合是否包括问题,如下为什么不包括?
  7. 从零开始入门 | Kubernetes 中的服务发现与负载均衡
  8. linux英文系统+搜狗输入法
  9. linux mysql 开启异步io_Linux 异步IO介绍
  10. vscode gcc debug dbg gdb c cpp c++ cuckoo monitor
  11. Eclipse快捷键生成语句
  12. SpringBoot之Dubbox
  13. 智能会议系统(16)---Linphone配置大全
  14. 自定义 BaseServlet,通用Servlet的抽取,模块化开发Servlet
  15. Java快捷键标识符入门学习
  16. latex,希腊字母,英文花体字
  17. GitHub新手使用教学(从安装到使用)
  18. Python 获取LOL所有英雄的传说
  19. 牛刀小试-Promise
  20. 阿里云ESC搭建SVN服务端-----实测有效,并补充了一些坑点

热门文章

  1. 机房合作(一):我怎样做组长(敢于承担责任)
  2. linux apf防火墙安装配置
  3. android网络重试机制,okhttp源码解析(四):重试机制
  4. jsoup 获取html中body内容_Java 进阶 利用Jsoup获取HTML页面的各分页中的标题信息...
  5. jquery select change事件_jQuery实现省市联动效果
  6. 谷歌浏览器flash_谷歌浏览器不支持Flash Player的问题
  7. AUTOSAR从入门到精通100讲(二十二)-手把手教你写Demo系列之车道线检测
  8. 牛客网-数据结构笔试题目(五)-动态规划问题求解
  9. 插入文件找不到桌面了?
  10. linux将txt文件复制为bak,Linux命令:cp (copy)复制文件或目录