框架Github地址:github.com/Orlion/Minor

(如果觉得还不错给个star哦(^-^)V)

框架作者: Orlion

知乎:https://www.zhihu.com/people/orlion

Github: https://github.com/Orlion

5.1 事件Event

  Minor的 Event 类提供一个简单的观察者实现,允许您在应用程序里订阅与监听事件。

  5.1.1 订阅事件

  首先创建一个事件类:

<?php

namespace App\Event;

use Minor\Event\Event;

class DemoEvent extends Event
{
private $name; public function __construct($name)
{
$this->name = $name;
} public function setName($name)
{
$this->name = $name;
} public function getName()
{
return $this->name;
}
}

  然后在配置文件中注册这个事件:

<?php
return $events = [
'App\Event\DemoEvent' => [
'App\Listener\DemoListener' => 'handle',
],
];

  5.1.2 触发事件

  Minor提供了一个事件管理类:Minor\Event\EventManger,通过调用该类的静态方法fire:EventManager::fire($event)就可以触发这个事件,例:

class FooController extends Controller
{
public function bar($productName)
{
$event = new DemoEvent('DemoEvent');
EventManager::fire($event);
...
}
}

5.2 监听器

  当触发事件后事件管理器EventManager就会通过配置文件去触发监听器的制定方法。在5.1.1配置文件中我们配置了DemoEvent的监听器为App\Listener\DemoListener的handle方法,可以看一下这个类的实现:

<?php

namespace App\Listener;

use App\Event\DemoEvent;
use Minor\Event\Listener; class DemoListener extends Listener
{
public function handle(DemoEvent $event)
{
echo '[DemoListener] handle the event:[' . $event->getName() .'] success!<br/><br/>';
}
}

最新文章

  1. &lt;!--[if IE 9]&gt;....&lt;!end if--&gt;
  2. MVVM下listbox默认显示最后一行
  3. Animator Controller 继承关系
  4. oracle建库及plsql建表空间的用法
  5. Hibernate使用原生sql语句
  6. Android View事件传递机制
  7. mac系统奔溃无法启动时,如何备份重要资料
  8. 解决jqplot与jquery-ui导入必要包时的冲突
  9. session的使用
  10. /usr/bin/python^M: 解释器错误: 没有那个文件或目录
  11. 定期清空log文件
  12. 从零起步做到Linux运维经理, 你必须管好的23个细节
  13. poj 1679 判断MST是不是唯一的 (次小生成树)
  14. 洛谷.T21778.过年(线段树 扫描线)
  15. 20155234 exp4 恶意代码分析
  16. 认识电脑的开机流程与主引导分区(MBR)
  17. linux学习之用户的切换
  18. 20145302张薇《Java程序设计》实验二报告
  19. Springboot第一篇:框架了解与搭建
  20. TIA Portal 和 scout 之间的驱动器地址分配

热门文章

  1. 线程的Alertable与User APC
  2. RecyclerView的介绍与使用
  3. ViewHolder优化2&gt;:
  4. 一键保存Feedly里的文章到有道笔记
  5. Mac下搭建hexo
  6. iOS 添加中文支持的操作
  7. Android通用流行框架大全
  8. 1001. A+B Format (20)
  9. android ADT 无法查看第三方jar源代码
  10. Xcode 升级后,常常遇到的遇到的警告、错误,解决方法(转)