ice-cream / events
Ice Cream 框架的事件处理器
1.1.1
2018-03-16 21:25 UTC
Requires
- php: >=7.2.0
Requires (Dev)
- codedungeon/phpunit-result-printer: ^0.6.1
- dcramble/phpdoc-md: ~0.1.1
- phpdocumentor/phpdocumentor: 2.9.0
- phpunit/php-code-coverage: 6.0.*
- phpunit/phpunit: 7.0.2
This package is not auto-updated.
Last update: 2024-09-15 02:22:01 UTC
README
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 注册事件的方式相似。