worksolutions / yii-ws-event-dispatcher
Yii event dispatcher
Installs: 19
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 5
Forks: 0
pkg:composer/worksolutions/yii-ws-event-dispatcher
Requires
- php: >=5.3.0
- yiisoft/yii: *
Requires (Dev)
This package is not auto-updated.
Last update: 2025-10-07 12:04:51 UTC
README
EventDispatcher component a simple and effective make your projects truly extensible.
Installation
Add a dependency to your project's composer.json:
{ "require": { "worksolutions/yii-ws-event-dispatcher": "dev-master" } }
Usage examples
Event call
$dispatcher = Yii::app()->eventDispatcher; /** @var SomeEvent $event */ $event = $dispatcher->createEvent(SomeEvent::className(), $eventTestParams); $dispatcher->fire($event);
Config EventDispatcher component
'components' => array( 'eventDispatcher' => array( 'class' => \WS\EventDispatcher\EventDispatcher::className(), 'events' => array( SomeEvent::className() => array( array( 'class' => SomeHandler::className(), 'params' => array(), ), //... ), //... ), ), //... )
Create handler class
use WS\EventDispatcher\Handler; class SomeHandler extends Handler { protected function identity() { // check the availability of execution return true; } protected function process() { // you handler code } }
Create event class
use WS\EventDispatcher\Event; class SomeEvent extends Event { public function attributeNames() { return array( 'fieldName', //... ); } public function rules() { return array( //validation rules ); } }