This Package gives you an easy way to throw Commands in a Command Bus.
Per usual, install Commander through Composer.
"require": {
"wegnermedia/commander": "dev-master"
}
Next, update app/config/app.php
to include a reference to this package's service provider in the providers array.
'providers' => [
'Wegnermedia\Commander\CommanderServiceProvider'
]
Next, add the facade app/config/app.php
.
'aliases' => [
'Commander' => 'Wegnermedia\Commander\Facades\Commander'
]
And now build something awesome.
<?php
use Wegnermedia\Commander\CommanderTrait;
class CartController extends ShopController {
use CommanderTrait;
/**
* Add Item to Cart.
*
* @return Response
*/
public function addItem()
{
$inputs = Input::all();
// Validation goes here ...
$command = new AddItemToCartCommand($inputs);
$result = $this->execute($command);
// ... create the Response
}
}
<?php
class CartController extends ShopController {
/**
* Add Item to Cart.
*
* @return Response
*/
public function addItem()
{
$inputs = Input::all();
// Validation goes here ...
$command = new AddItemToCartCommand($inputs);
$result = Commander::execute($command);
// ... create the Response
}
}
Done!