5.1 Event
MinorのEvent
クラスはシンプルなオブザーバー実装を提供し、アプリケーション内でイベントをサブスクライブしてリッスンできるようにします。
5.1.1 イベントをサブスクライブします
まずイベントクラスを作成します:
<?php namespace App\Event;use Minor\Event\Event;class DemoEvent extends Event {private$name;publicfunction __construct($name) {$this->name = $name; }publicfunction setName($name) {$this->name = $name; }publicfunction getName() {return$this->name; } }
次に、このイベントを設定ファイルに登録します:
<?phpreturn$events = ['App\Event\DemoEvent' => ['App\Listener\DemoListener' => 'handle', ],];
5.1.2 イベントをトリガーします
マイナーはイベントを提供します管理クラス:MinorEventEventManger、このイベントは、このクラスの静的メソッド fire:EventManager::fire($event) を呼び出すことでトリガーできます。例:
class FooController extends Controller {publicfunction bar($productName) {$event = new DemoEvent('DemoEvent'); EventManager::fire($event);... } }
5.2 リスナー
イベントがトリガーされると、イベント マネージャー EventManager リスナーの定式化メソッドは、構成ファイルを通じてトリガーされます。 5.1.1 設定ファイルでは、DemoEvent リスナーを AppListenerDemoListener のハンドル メソッドとして設定しました。このクラスの実装を確認できます。
<?php namespace App\Listener;use App\Event\DemoEvent;use Minor\Event\Listener;class DemoListener extends Listener {publicfunction handle(DemoEvent $event) {echo '[DemoListener] handle the event:[' . $event->getName() .'] success! '; } }
上記は、Minor5 イベントの内容を紹介しています。 PHP フレームワーク (コード付き) 、PHP チュートリアルに興味のある友人に役立つことを願っています。