ice-cream/events

Ice Cream 框架的事件处理器

1.1.1 2018-03-16 21:25 UTC

This package is not auto-updated.

Last update: 2024-09-15 02:22:01 UTC


README

Build Status Packagist Maintenance Made With Love

Ice Cream 事件管理的事件处理程序

要求

  • PHP 7.2
  • 独立

文档

您可以在这里查看此软件包的文档

使用方法

使用相当简单,首先我们需要创建一个监听器并注册它。监听器将会监听新事件的分发,并在事件分发时执行某些操作。

这与 Symfony 的事件分发器非常相似

// Create the handler:

$eventHandler = new EventHandler();

// Create a listener to listen to events being fired:

$listener = new Listener();

让我们定义监听器类

use IceCreamEvents\Listener;

class PageViewEventListener extends Listener{

  // Read on to see the event definition.
  public function onAction(PageViewEvent $pageViewedEvent) {
     // ... Do something.
  }
}

现在我们来创建一个事件

use IceCreamEvents\Event;

class PageViewEvent extends Event {

  protected $pageViewed;

  public function __construct(PageViewed $pageViewed) {
    $this->pageViewed = $pageViewed;
  }

  public function getPageViewed() {
    return $this->pageViewed;
  }
}

最后,我们将事件与相应的监听器进行注册

$eventHandler->register('page.viewed', PageViewEvent::class, PageViewEventListener::class, 'onAction');

接下来,我们分发事件

$eventHandler->dispatch('page.viewed');

这会将页面查看事件注册到监听器类,当事件被触发时,我们调用 onAction 方法并将事件类传递给它。这与 Laravel 注册事件的方式相似。