laravel 事件的使用案例
以下是我对事件使用的一些记录
创建事件
执行以下命令,执行完成后,会在 app\Events 下面出现一个 DeleteEvent.php 文件,事件就在次定义
php artisan make:event DeleteEvent
编写事件
#DeleteEvent.php
<?php namespace App\Events; use App\Events\Event;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; class DeleteEvent extends Event
{
use SerializesModels; public function __construct()
{
//
} public function broadcastOn()
{
print 'delete event';
}
}
创建监听listener
执行以下命令,执行完成后,会在 app\Listeners 下面出现一个 DeleteEventListener.php 文件,是对事件 DeleteEvent的监听
php artisan make:listener --event=DeleteEvent DeleteEventListener
编写事件监听
#DeleteEventListener.php
<?php namespace App\Listeners; use App\Events\DeleteEvent;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue; class DeleteEventListener
{
public function __construct()
{
//
} public function handle(DeleteEvent $event)
{
//
$event->broadcastOn();
}
}
调用事件-在控制器使用
#EventController.php
<?php namespace App\Http\Controllers; use App\Events\DeleteEvent;
use App\Events\SomeEvent;
use Illuminate\Http\Request; use App\Http\Requests; class EventController extends Controller
{
//
public function index()
{
// event(new SomeEvent()); //框架默认调用broadcastOn() $event = new DeleteEvent(); //自定义
event($event->broadcastOn());
}
}
编写路由
#routes.php
Route::get('/event',['uses'=>'EventController@index']);
laravel 事件的使用案例的更多相关文章
- laravel 事件机制 实践总结
laravel 事件机制 实践总结 观察者模式 在EventServiceProvider的linsten数组里面加上事件和监听器,键名是事件,键值里面的数组是一个或者多个监听器, protected ...
- Laravel事件Event
适用场景:记录文章浏览量 php artisan make:event 事件名 示例: php artisan make:event MyEvent Laravel目录\app\Events已经生成M ...
- laravel 事件监听
事件监听器监听到事件发生后会执行一些操作,Laravel使用观察者模式来实现这种监听机制 操作顺序:1.注册事件和监听器 -> 2.定义事件类 -> 3.定义监听类 -> 4.触发事 ...
- javascript之BOM事件注册和案例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- laravel 事件广播
Laravel 5.1 之中新加入了事件广播的功能,作用是把服务器中触发的事件通过websocket服务通知客户端,也就是浏览器,客户端js根据接受到的事件,做出相应动作.本文会用简单的代码展示一个事 ...
- C#学习笔记(11)——深入事件,热水器案例
说明(2017-6-14 15:04:13): 1. 热水器案例,为了便于理解,采用了蹩脚但直观的英文命名,哼哼. heater类,加热,声明一个委托,定义一个委托事件: using System; ...
- 简单易懂的laravel事件,这个功能非常的有用(监听事件,订阅者模式)
先说一下在什么场景会使用这个事件功能. 事情大概是这样的,需求要在用户注册的时候发一些帮助邮件给用户(原本用户在注册之后已经有发别的邮件的了,短信,IM什么的) 原来这个注册的方法也就10多行代码.但 ...
- Laravel 事件侦听的几个方法 [Trait, Model boot(), Observer Class]
1 Trait 1.1 可以在 Trait 中定义一个静态的 bootFooBar() 方法,注:FooBar 是你的 Trait 名称 namespace App\Traits; use App\A ...
- JS基础入门篇(二十)—事件对象以及案例(二)
案例一.点击按钮,选中input中的全部内容 select()方法:选中全部. 点击按钮选中输入框中的内容!!!! <!DOCTYPE html> <html lang=" ...
随机推荐
- [Spring] - 读写分离
使用Spring可以做到在应用层中实现数据库的读写分离. 参考文档: http://blog.csdn.net/lifuxiangcaohui/article/details/7280202 思路是使 ...
- yii2安装
https://github.com/settings/tokens 设置token 在安装的时候 要复制进去 复制到安装命令中去
- 通过Java Api与HBase交互(转)
HBase提供了Java Api的访问接口,掌握这个就跟Java应用使用RDBMS时需要JDBC一样重要,本文将继续前两篇文章中blog表的示例,介绍常用的Api. import java.io.IO ...
- 使用pandas处理数据并绘图的例子
import sys import os import re import datetime import csv def get_datetime(record): request_time = & ...
- zero ice 如何获取本地以及对端IP 地址及端口号
// 在客户端显示端点连接IP及端口号信息 static void show_endpoint(const Ice::ObjectPrx &proxy) { Ice::ConnectionPt ...
- 转:Tomcat启动过程中找不到JAVA_HOME JRE_HOME的解决方法
转自:http://blog.sina.com.cn/s/blog_61c006ea0100l1u6.html 原文: 在XP上明明已经安装了JDK1.5并设置好了JAVA_HOME,可偏偏Tomca ...
- testng 控制case运行顺序
Testing.xml 文档结构: <test name="xxxx" preserve-order="false"> <!-- 参数定义的方 ...
- BVT & BAT & SVT
1. BVT(Build Verification Test) a. BVT概念 Build Verification test is a set of tests run on every new ...
- Jmeter组件4. Regular Expression Extractor
位置:Post-Processors - Regular Expression Extractor 所谓的Post-Processors直译为后处理器,意思是在域内所有Sampler执行完后才会执行, ...
- 【转】WPF 窗体淡入淡出动画
第一种 <Window.Triggers> <EventTrigger RoutedEvent="Window.Loaded" > <BeginSto ...