buuum/phevent

您的应用程序的事件包

v1.0.2 2017-03-07 15:59 UTC

This package is auto-updated.

Last update: 2024-09-17 20:43:09 UTC


README

Packagist license

简单且极具灵活性的PHP事件类

入门指南

要使用Buuum,您需要PHP >= 5.5。

安装

系统要求

要使用Buuum\Event,您需要PHP >= 5.5.0,但建议使用最新稳定的PHP版本。

Composer

Buuum可在Packagist上找到,并可以使用Composer进行安装。

composer require buuum/phevent

手动安装

只要您的自动加载器遵循PSR-0或PSR-4标准,您就可以使用自己的自动加载器。只需将src目录的内容放入您的vendor目录。

映射您的事件

use Buuum\Event;

$event = Event::getInstance();

$event->loadListeners(include_once __DIR__ . '/listeners.php');
$event->setResolver(new EventResolver());

listeners.php

use Buuum\Event;

return function(Event $event){

    $event->addListener('email.send.confirm', function(string $event_name){
        return $event_name;
    });
    
    $event->addListener('email.send.susbscribe', function($param1, $param2, string $event_name){
        return $event_name;
    });
    
    $event->addListener('email.send.rememberme', [App\Example::class, 'sendremember']);
};

添加解析器

$event->setResolver(new EventResolver());

EventResolver.php

use Buuum\Event;
class EventResolver implements EventResolverInterface
{

    public function __construct()
    {
    }

    public function resolve($handler)
    {
        return $handler;
    }
}

触发事件

\\ Static method
Event::eventFire($event_name);
\\ Method
$event->fire($event_name);

\\ Add params
Event::eventFire($event_name, $param1, $param2);
$event->fire($event_name, $param1, $param2);

LICENSE

MIT许可证 (MIT)

版权所有 © 2017 alfonsmartinez

特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人,不受限制地处理该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,以及允许向软件提供的人进行此类操作,前提是受以下条件约束

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权或其他原因,是否因软件或其使用或其他方式产生。