laravel-commandbus maintained by desmart
Description
DeSmart CommandBus for Laravel
Authors
Last update
2020/11/02 16:39
(dev-master)
License
Downloads
3 395
Laravel CommandBus
A small, pluggable command bus.
Instalation
$ composer require desmart/laravel-commandbus- Add
DeSmart\CommandBus\ServiceProvidertoapp.php
Example usage:
Command Class
class RegisterUserCommand
{
protected $email;
public function __construct($email)
{
$this->email = $email;
}
public function getEmail()
{
return $this->email;
}
}
CommandValidator Class
class RegisterUserCommandValidator
{
public function validate(RegisterUserCommand $command)
{
// it will be called before handler
}
}
CommandHandler Class
class RegisterUserCommandHandler
{
public function handle(RegisterUserCommand $command)
{
// it will be called if validator won't throw any exception
}
}
Execute the command:
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("foo@bar.net");
$this->commandBus->handle($command);
}
}