wegnermedia / EventManager by wegnermedia

Simple Event Manager Tool for Laravel
12
2
2
Package Data
Maintainer Username: wegnermedia
Maintainer Contact: stefan@wegnermedia.de (Stefan Wegner)
Package Create Date: 2014-07-21
Package Last Update: 2014-07-21
Language: PHP
License: Unknown
Last Refreshed: 2024-04-29 15:08:13
Package Statistics
Total Downloads: 12
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 2
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

Laravel Event Manager Service

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!