hasan-22/ event-listener
使用这个包,您可以轻松地将事件和监听器添加到您的项目中
v1.0.0
2023-02-13 19:37 UTC
README
使用此包,您可以将 event
和 listener
轻松添加到您的项目中
composer require hasan-22/event-listener
使用方法
您可以为事件创建一个类,为监听器创建另一个类。请注意,监听器类必须实现 \EventListener\ListenerInterface
接口
在这个例子中,我们认为我们有两个登录事件的监听器类
我们的类名为 LoginEvent
和 LoginListener
require_once __DIR__.'/vendor/autoload.php'; //With function listen we can add register our event and listener \EventListener\Event::listen(LoginEvent::class, LoginListener::class); // Now we can fire events anywhere in the project like this \EventListener\Event::fire(new LoginEvent()); // If your event have constructor with parameters you can pass the parameters like this // Be careful that your parameters must have public access \EventListener\Event::fire(new LoginEvent('Armia','123456'));
如果您不想为监听器和事件创建类,我们可以这样创建事件和监听器
\EventListener\Event::listen('login',function(){ echo 'user is login'; }) \EventListener\Event::fire('login'); // With parameter \EventListener\Event::listen('login',function($username){ echo "Hello $username"; }) \EventListener\Event::fire('login','Armia');
如果您有多个事件和监听器,您可以依次调用 listen
或 fire
\EventListener\Event::listen('event_one',function($name){ echo "Hello $name"; })->listen(EventTwo::class, ListenerTwo::class)->listen('event_three', function(){}); // Fire events \EventListener\Event::fire('event_one','Armia')->fire(new EventTwo())->fire('event_three');
如果您想删除事件,可以这样做
\EventListener\Event::delete('event_name');