wegnermedia / event-manager
There is no license information available for the latest version (1.0.0) of this package.
Simple Event Manager Tool for Laravel
1.0.0
2014-07-21 19:43 UTC
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
This package is not auto-updated.
Last update: 2024-11-05 02:58:41 UTC
README
This Package gives you an easy way to raise and dispatch events.
Installation
Per usual, install Commander through Composer.
"require": { "wegnermedia/event-manager": "dev-master" }
Next, add the facade app/config/app.php
.
'aliases' => [ 'EventManager' => 'Wegnermedia\EventManager\Facade' ]
And now build something awesome.
Usage
app/controllers/CartController.php
<?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); EventManager::dispatch(); // ... create the Response } }
app/Shop/Cart/AddItemToCartCommandHandler.php
<?php use Wegnermedia\Commander\CommandHandlerInterface; class AddItemToCartCommandHandler implements CommandHandlerInterface { /** * Handle the command * * @return mixed */ public function handle($command) { // some awesome stuff ... // Raise and event with the Namespace of "Shop" // Event::listen('whenShop*', ... ); EventManager::raise( new AddingItemToCartWasSuccessfulEvent($cart, $item), 'Shop' ) // ... create the Response } }
Sometimes you may want to look into the stack
$stack = EventManager::stack();
Done!