for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace GBProd\DomainEventBundle\Event;
use GBProd\DomainEvent\Dispatcher as DomainEventDispatcher;
use GBProd\DomainEvent\DomainEvent;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
/**
* Domain dispatcher implementation for symfony dispatcher
*
* @author gbprod <[email protected]>
*/
class Dispatcher implements DomainEventDispatcher
{
* @var EventDispatcherInterface
private $dispatcher;
* @param EventDispatcherInterface $dispatcher
public function __construct(EventDispatcherInterface $dispatcher)
$this->dispatcher = $dispatcher;
}
* {@inheritdoc}
public function dispatch(DomainEvent $event)
$this->dispatcher->dispatch(
$this->resolveEventName($event),
new Event($event)
);
private function resolveEventName(DomainEvent $event)
$name = get_class($event);
$pos = strrpos($name, '\\');
return $this->name = false === $pos ? $name : substr($name, $pos + 1);
name
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
class MyClass { } $x = new MyClass(); $x->foo = true;
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:
class MyClass { public $foo; } $x = new MyClass(); $x->foo = true;
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: