laravel5——事件

原创 2015年11月20日 17:41:47
创建事件类:php artisan make:event TestEvent ,生成文件:app/Events/TestEvent.php
创建事件的处理程序:php artisan handler:event TestSum --event=TestEvent ,生成文件:vi app/Handlers/Events/TestSum.php
         每次创建新事件时,需要执行上述两条语句,同时在EventServiceProvider.php的$listen添加事件和处理程序,
         若觉得麻烦,可以先在EventServiceProvider.php的$listen添加新的事件和处理程序,然后执行php artisan event:generate即可。
注:
1)针对事件使用多个处理类的情况,每个处理类handle中的参数必须是同类型,可理解为这些参数(事件类)拥有相同的父类,或类之间是父子关系;运行结果是依次执行各个handler内容。
2)事件处理默认调用handler方法,若需要指定,则在添加$listen时指定方法即可:app\Handlers\Events\TestSum@testSupermanDie。




监听器闭包
若仅仅创建事件类,而没有创建事件对应的处理程序,我们可以直接在EventServiceProvider的boot方法中直接使用闭包进行处理,
Event::listen('App\Events\NoneHandlerTest', function($event)
{
    // 处理事件...
});




触发事件
1)调用event(),形式如:event(new TestEvent())
2)用Facade触发,形式如:Event::fire(new TestEvent());


模型事件(Model events and Observers)
    可用事件:
        creating created 创建 
        updating updated 更新 
        saving saved 创建 & 更新 
        deleting deleted 删除
    若creating、updating、saving、deleting事件返回false,就会取消数据库操作;
    使用示例:
        在EventServiceProvider的boot方法中加入如下代码:
        Order::creating(function()
        {
            echo 'Creating success!'; 
   return false;
        });
     那么在点击创建订单后,会输出'Creating success!',但该订单不会写入数据库,若去掉return false,则订单会被写入数据库。


模型观察者
    创建模型观察者类,该类可能包含的方法:creating, created, updating, updated, saving, saved, deleting, deleted, restoring, restored
    然后在EventServiceProvider的boot方法中注册该观察者实例:Order::observe(new OrderObserver());

Laravel5.5源码详解 -- Laravel-debugbar及使用elementUI-ajax的注意事项

Laravel5.5源码详解 – Laravel-debugbar 及使用elementUI - ajax的注意事项关于laravel对中间件的处理,请参中间件考另文, Laravel5.5源码详解...
  • tanmx219
  • tanmx219
  • 2017年12月27日 20:04
  • 86

Laravel事件Event

适用场景:记录文章浏览量 1 php artisan make:event 事件名 示例: 1 php artisan make:even...
  • e62ces0iem
  • e62ces0iem
  • 2017年06月17日 11:11
  • 194

Laravel Eloquent 模型事件

这篇文章主要是用事件去监控模型的数据更新等。 Eloquent模型方面可以参考Laravel官方文档:http://www.golaravel.com/一、简要概述:模型会触发很多事件,每次数据库数...
  • a_new_steven
  • a_new_steven
  • 2017年06月22日 15:37
  • 864

laravel 5.5 -- Eloquent 入门

快速入门定义模型
  • OneGoal
  • OneGoal
  • 2017年08月03日 14:37
  • 1303

laravel5——事件

创建事件类:php artisan make:event TestEvent ,生成文件:app/Events/TestEvent.php 创建事件的处理程序:php artisan handler:...
  • zhangfangfang870905
  • zhangfangfang870905
  • 2015年11月20日 17:41
  • 1271

Laravel 入门基础教程

1 前提条件 本文针对想从零开始开发 Laravel 程序的初学者,不需要预先具备任何的 Laravel 使用经验。不过,为了能顺利阅读,还是需要事先安装好一些软件: PHP 5.4 ...
  • luyaran
  • luyaran
  • 2016年12月09日 11:03
  • 1606

laravel5 列出所有事件 和事件实例

laravel5 列出所有事件 和 简单的使用举例
  • m0sh1
  • m0sh1
  • 2017年11月24日 17:43
  • 105

Laravel5.5 学习第一天【安装、配置、部署并运行】

备注:本地环境:PHPSTUDY PHP7.0 一、如何安装Composer http://docs.phpcomposer.com/00-intro.html#Installation-Win...
  • fengyu19880219
  • fengyu19880219
  • 2018年02月01日 09:27
  • 73

Laravel数据库操作的三种方式

Laravel提供了3种操作数据库方式:DB facade(原始方式)、查询构造器和Eloquent ORM。下面我将逐一讲解。 数据库的配置文件在config目录下的database.php里。打...
  • zls986992484
  • zls986992484
  • 2016年10月15日 20:45
  • 44145

Laravel 入门基础教程

Laravel 入门 本文zdi介绍如何开始使用 Laravel。 读完本文,你将学到: 如何安装 Laravel,新建 Laravel 程序,如何连接数据库; Laravel...
  • sanxian_li
  • sanxian_li
  • 2014年09月20日 00:05
  • 4155
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:laravel5——事件
举报原因:
原因补充:

(最多只允许输入30个字)