jakulov/psr_event

来自 Symfony 事件调度组件的事件接口

dev-master 2016-01-02 00:08 UTC

This package is not auto-updated.

Last update: 2024-09-18 19:04:01 UTC


README

标准化事件以实现所有组件事件实现psr-event之间的兼容性

使用https://github.com/symfony/EventDispatcher的接口来创建标准化的完整方案。

此存储库包含所有与PSR-3相关的接口/类/特性。

请注意,这并不是一个独立的事件调度器。它仅仅是一个描述事件调度器、事件订阅者、事件接口和通用事件接口的接口。有关更多详细信息,请参阅规范。

使用方法

如果您需要事件调度器,您可以像这样使用接口:

<?php

use Psr\Log\EventDispatcherInterface;
use Psr\Log\EventInterface;

class Foo
{
    private $logger;

    public function __construct(EventDispatcherInterface $logger = null)
    {
        $this->eventDispatcher = $eventDispatcher;
    }

    public function doSomething()
    {
        if ($this->eventDispatcher) {
            $this->eventDispatcher->addListener('event_name', function (EventInterface $event) {
                // ...
            });

            $this->eventDispatcher->dispatch('event_name');
        }

        // do something useful
    }
}

然后,您可以选择接口的其中一个实现来获取日志记录器。

如果您想实现该接口,可以引入此包并在您的代码中实现Psr\Log\EventDispatcherInterface。请参阅规范文本以获取详细信息。