Downloads
Stars
Version
A small, pluggable command bus.
$ composer require desmart/laravel-commandbus
DeSmart\CommandBus\ServiceProvider
to app.php
class RegisterUserCommand
{
protected $email;
public function __construct($email)
{
$this->email = $email;
}
public function getEmail()
{
return $this->email;
}
}
class RegisterUserCommandValidator
{
public function validate(RegisterUserCommand $command)
{
// it will be called before handler
}
}
class RegisterUserCommandHandler
{
public function handle(RegisterUserCommand $command)
{
// it will be called if validator won't throw any exception
}
}
class Controller
{
/**
* @var \DeSmart\CommandBus\Contracts\CommandBus
*/
protected $commandBus;
public function __construct(\DeSmart\CommandBus\Contracts\CommandBus $commandBus)
{
$this->commandBus = $commandBus;
}
public function index()
{
$command = new RegisterUserCommand("[email protected]");
$this->commandBus->handle($command);
}
}