框架Github地址:github.com/Orlion/Minor
(如果觉得还不错给个star哦(^-^)V)
框架作者: Orlion
知乎:https://www.zhihu.com/people/orlion
Github: https://github.com/Orlion
Minor的 Event
类提供一个简单的观察者实现,允许您在应用程序里订阅与监听事件。
首先创建一个事件类:
<?php namespace AppEvent; use MinorEventEvent; 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 = [ 'AppEventDemoEvent' => [ 'AppListenerDemoListener' => 'handle', ], ];
Minor提供了一个事件管理类:MinorEventEventManger,通过调用该类的静态方法fire:EventManager::fire($event)就可以触发这个事件,例:
class FooController extends Controller { public function bar($productName) { $event = new DemoEvent('DemoEvent'); EventManager::fire($event); ... } }
当触发事件后事件管理器EventManager就会通过配置文件去触发监听器的制定方法。在5.1.1配置文件中我们配置了DemoEvent的监听器为AppListenerDemoListener的handle方法,可以看一下这个类的实现:
<?php namespace AppListener; use AppEventDemoEvent; use MinorEventListener; class DemoListener extends Listener { public function handle(DemoEvent $event) { echo '[DemoListener] handle the event:[' . $event->getName() .'] success!<br/><br/>'; } }