PHP code example of nepada / phpstan-message-bus
1. Go to this page and download the library: Download nepada/phpstan-message-bus library. Choose the download type require. 2. Extract the ZIP file and open the index.php. 3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
nepada / phpstan-message-bus example snippets
final class FooService
{
private \Nepada\MessageBus\Commands\CommandBus $commandBus;
public function __construct(\Nepada\MessageBus\Commands\CommandBus $commandBus)
{
$this->commandBus = $commandBus;
}
public function placeOrder(): void
{
try {
$command = new PlaceOrderCommand();
$this->commandBus->handle($command);
} catch (FailedToPlaceOrderException $exception) {
// FailedToPlaceOrderException may be thrown and needs to handled
}
}
}
final class PlaceOrderCommand implements \Nepada\MessageBus\Commands\Command
{
}
final class PlaceOrderHandler implements \Nepada\MessageBus\Commands\CommandHandler
{
/**
* @param PlaceOrderCommand $command
* @throws FailedToPlaceOrderException
*/
public function __invoke(PlaceOrderCommand $command): void
{
throw new FailedToPlaceOrderException('Failed to place order');
}
}
class FailedToPlaceOrderException extends \RuntimeException
{
}