laravel里面使用event
模式:大概是通过一个自定义的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相关推荐
- laravel event
EventServiceProvider namespace App\Providers;class EventServiceProvider extends ServiceProvider {pro ...
- php npm,php – Laravel中NPM,Composer和Bower的区别?
所以在Laravel有Composer,NPM和Bower,我知道他们都是deoendancy经理. Composer – 这似乎关注PHP依赖关系,包列表是composer.json的内容控制器.要 ...
- [Laravel 5.3] Notification 个人理解,及 BearyChat Channel 新鲜出炉
Laravel Notification Laravel 5.3 提供了一种全新的发送通知的方式:Notification .个人理解是可以基于某事件(操作)触发一系列的通知任务,而通知方式由 Cha ...
- kibana 喊话_使用Laravel事件创建实时喊话箱
kibana 喊话 介绍 (Introduction) Laravel is undoubtedly a very powerful framework with a lot of batteries ...
- 基于 lumen 的微服务架构实践
lumen 为速度而生的 Laravel 框架 官网的介绍很简洁,而且 lumen 确实也很简单,我在调研了 lumen 相关组件(比如缓存,队列,校验,路由,中间件和最重要的容器)之后认为已经能够满 ...
- laravel5.8 pusher socket.io
背景 用于扫码状态,广播事件等简单websocket服务,框架laravel5.8 pusher 基于pusher外部服务,使用简单,可以在任何框架中使用,laravel只是将发布广播使用了事件触发( ...
- Laravel框架中的event事件操作
有时候当我们单纯的看 Laravel 手册的时候会有一些疑惑,比如说系统服务下的授权和事件,这些功能服务的应用场景是什么,其实如果没有经历过一定的开发经验有这些疑惑是很正常的事情,但是当我们在工作中多 ...
- Laravel event 事件的简单使用
有时候当我们单纯的看 Laravel手册的时候会有一些疑惑,比如说系统服务下的授权和事件,这些功能服务的应用场景是什么,其实如果没有经历过一定的开发经验有这些疑惑是很正常的事情,但是当我们在工作中多加 ...
- Laravel事件Event
适用场景:记录文章浏览量 php artisan make:event 事件名 示例: php artisan make:event MyEvent Laravel目录\app\Events已经生成M ...
最新文章
- “利他主义者”乔治·普莱斯的一生(全文翻译自Independent)
- Windows 8 图标前面的勾选
- Camera框架初探
- python读取文件第n行-python读取文件第n行
- opencv 计数后不动了 训练模型时_用OpenCV和深度学习进行年龄识别
- java set 包含_关于Java的Set的集合是否包括问题,如下为什么不包括?
- 从零开始入门 | Kubernetes 中的服务发现与负载均衡
- linux英文系统+搜狗输入法
- linux mysql 开启异步io_Linux 异步IO介绍
- vscode gcc debug dbg gdb c cpp c++ cuckoo monitor
- Eclipse快捷键生成语句
- SpringBoot之Dubbox
- 智能会议系统(16)---Linphone配置大全
- 自定义 BaseServlet,通用Servlet的抽取,模块化开发Servlet
- Java快捷键标识符入门学习
- latex,希腊字母,英文花体字
- GitHub新手使用教学(从安装到使用)
- Python 获取LOL所有英雄的传说
- 牛刀小试-Promise
- 阿里云ESC搭建SVN服务端-----实测有效,并补充了一些坑点
热门文章
- 机房合作(一):我怎样做组长(敢于承担责任)
- linux apf防火墙安装配置
- android网络重试机制,okhttp源码解析(四):重试机制
- jsoup 获取html中body内容_Java 进阶 利用Jsoup获取HTML页面的各分页中的标题信息...
- jquery select change事件_jQuery实现省市联动效果
- 谷歌浏览器flash_谷歌浏览器不支持Flash Player的问题
- AUTOSAR从入门到精通100讲(二十二)-手把手教你写Demo系列之车道线检测
- 牛客网-数据结构笔试题目(五)-动态规划问题求解
- 插入文件找不到桌面了?
- linux将txt文件复制为bak,Linux命令:cp (copy)复制文件或目录