5.1 이벤트
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 트리거 이벤트
Minor는 이 클래스를 호출하여 이벤트 관리 클래스인 MinorEventEventManger를 제공합니다. 정적 메소드 fire: EventManager::fire($event)는 이 이벤트를 트리거할 수 있습니다. 예:
class FooController extends Controller {publicfunction bar($productName) {$event = new DemoEvent('DemoEvent'); EventManager::fire($event);... } }
5.2 Listener
이벤트가 트리거되면 이벤트 관리자 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! '; } }
위 PHP 프레임워크의 Minor5 이벤트(코드 포함) 내용을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.