Skip to content

Диспетчер пользовательских событий

License

Notifications You must be signed in to change notification settings

motokraft/event

Repository files navigation

Event dispatcher

Package version Total Downloads PHP Version Repository Size License

Установка

Библиотека устанавливается с помощью пакетного менеджера Composer

Добавьте библиотеку в файл composer.json вашего проекта:

{
    "require": {
        "motokraft/event": "^1.0"
    }
}

или выполните команду в терминале

$ php composer require motokraft/event

Включите автозагрузчик Composer в код проекта:

require __DIR__ . '/vendor/autoload.php';

Пример использования

use \Motokraft\Event\EventHelper;
use \Motokraft\Event\EventMethod;
use \Motokraft\Event\ObjectEvent;
use \Motokraft\Event\EventInterface;
use \Motokraft\Event\EventTypeInterface;
use \Motokraft\Event\Traits\EventTrait;
use \Motokraft\Object\BaseObject;

class UserObject extends BaseObject implements EventTypeInterface
{
    use EventTrait;

    private int $id = 0;
    private string $name = 'admin';
}

EventHelper::addTypeClass('user', UserObject::class);

class DemoEvent implements EventInterface
{
    function onPrepareUserObject(ObjectEvent $event) : void
    {
        $target = $event->getTarget();
        $target->set('login', 'SuperUser');
    }
}

UserObject::addEventMethod('prepare', new EventMethod(
	DemoEvent::class, 'onPrepareUserObject', 1
));

$user = new UserObject;

$event = $user->getObjectEvent('prepare');
$user->dispatchEvent($event);

print_R($user);

Лицензия

Эта библиотека находится под лицензией MIT License.

About

Диспетчер пользовательских событий

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages