Koine Event Manager
Simple Event Manager
Code information:, (*1)
, (*2)
Package information:, (*3)
, (*4)
Usage
<?php
use Koine\EventManager\EventManager;
$eventManager = EventManager();
$eventManager->attach('MyApp\DomainEvents\UserRegistered', function ($event) {
$user = $event->getUser();
// send welcome email to user
});
The event, (*5)
<?php
namespace MyApp\DomainEvents;
use MyApp\Entity\User;
class UserRegistered implements EventInterface
{
private $user;
public function __construct(User $user)
{
$this->user = $user;
}
public function getUser()
{
return $this->user;
}
}
In the controller, service or anywhere else, (*6)
<?php
namespace MyApp\Controller;
use MyApp\DomainEvents\UserRegistered;
use MyApp\Entity\User;
class UserRegistration extends BaseController
{
public function createAction()
{
$params = $this->getRequest()->getParams();
$user = new User($params);
// logic to create ommited
$this->getEventManager()->trigger(new UserRegistered($user));
// redirect or wathever
}
}
Installing
Installing Via Composer
Append the lib to your requirements key in your composer.json., (*7)
{
// composer.json
// [..]
require: {
// append this line to your requirements
"koine/event-manager": "*"
}
}
Alternative install
Issues/Features proposals
Here is the issue tracker., (*8)
Lincense
MIT, (*9)
Authors