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());
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Laravel Eloquent 模型事件

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

NodeJs——(5)与 events 事件模块

①events模块只提供了一个对象,events.EventEmitter 他的核心是 事件发射 和 事件监听 功能   每个事件由一个事件名(用于标识事件),和多个参数组成。   事件名:...

PyQt5教程(四)——事件与信号

在这部分教程中我们将探讨在程序内部发生的事件与信号。事件所有的GUI程序都是事件驱动的。事件主要由用户触发,但也可能有其他触发方式:例如网络连接、window manager或定时器。当我们调用QAp...

用仿ActionScript的语法来编写html5——第三篇,鼠标事件与游戏人物移动

第三篇,鼠标事件与游戏人物移动 用仿ActionScript的语法来编写html5——第一篇,显示一张图片 http://blog.csdn.net/lufy_legend/article...

HTML5事件——contextmenu 隐藏鼠标右键菜单

在window中单击右键或在Mac中Ctrl+单击时会触发contextmenu事件,通过取消其默认动作可以提供自定义事件。

Cult3D基础教程——5.事件类型

Cult3D通过接收设定的内部事件和浏览器的Java和JavaSricpt事件来为三维场景/物体增加了交互性。注意:Cult3D的部分事件类型不能由成组的(Dummy)来触发。事件图窗口的左侧列出了C...

laravel 实现邮箱event事件发送

触发时间监听 所在目录 app\Providers\EventServiceProvider.php 设置监听对象userRegistered,分配事件行为发送邮件 sendRegisterEmai...

Laravel邮件、事件、队列浅谈

Laravel 提供了很多的功能,今天通过用户注册后邮件通知用户的小功能来浅谈 邮件发送、事件 以及 队列。 使用 Laravel 自带的认证功能。 Laravel 自带的认证功能命令应该在新安装...

Laravel5.1 事件广播(Event Broadcasting)

依赖 laravel(predis)、 redis、 nodejs(ioredis,socket.io) 1、修改config\app.phpproviders数组 添加 ‘Illumina...

laravel5无限极分类递归

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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