Skip to content

Instantly share code, notes, and snippets.

@faizalpribadi
Last active December 26, 2015 13:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save faizalpribadi/7158834 to your computer and use it in GitHub Desktop.
Save faizalpribadi/7158834 to your computer and use it in GitHub Desktop.
Easy Read | Simple Example Event Observer By Mozart PHP Component
use Mozart\Library\Event\EventDispatcher;
use Mozart\Library\Event\Event;
class Message
{
protected $message;
public function __construct($message)
{
$this->message = $message;
}
public function __toString()
{
return $this->message;
}
}
class MessageEvent extends Event
{
protected $message;
public function __construct(Message $message)
{
$this->message = $message;
}
/**
* @return Message
*/
public function getMessage()
{
return $this->message;
}
}
$dispatcher = new EventDispatcher();
$dispatcher->addListener('message.event', function (MessageEvent $event) {
echo 'You have a new message '. $event->getMessage();
});
$message = new Message('hello friend');
$event = new MessageEvent($message);
$dispatcher->dispatch('message.event', $event);
print_r(array(
$dispatcher, $event, $message
));
# You have a new message hello friendArray
// Debug Dumper
(
[0] => Mozart\Library\Event\EventDispatcher Object
(
[dispatcher:protected] => Array
(
[message.event] => Array
(
[-1] => Array
(
[0] => Closure Object
(
[parameter] => Array
(
[$event] => <required>
)
)
)
)
)
)
[1] => MessageEvent Object
(
[message:protected] => Message Object
(
[message:protected] => hello friend
)
[event:protected] =>
[stopPropagation:protected] =>
[dispatcher:protected] =>
)
[2] => Message Object
(
[message:protected] => hello friend
)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment