xtrasmal/tactician-provider

There is no license information available for the latest version (dev-master) of this package.

Laravel ServiceProvider for the Tactician CommandBus library

dev-master 2015-04-05 01:50 UTC

This package is not auto-updated.

Last update: 2024-11-23 18:08:14 UTC


README

Laravel Build Status Scrutinizer Code Quality

Laravel ServiceProvider for the Tactician library https://github.com/thephpleague/tactician/

If you are looking for a Symfony2 Bundle or want to help: https://github.com/xtrasmal/TacticianBundle

Setup

First add this provider to your composer dependencies:

> composer require xtrasmal\tactician-provider

Then register it in your config/app.php.

	'providers' => [
		'Xtrasmal\TacticianProvider\TacticianServiceProvider',
            // ...

That's it!

Configuring Command Handlers

The most common use case with Tactician is passing a Command to the Command Bus and having it routed to the Command Bus.

Since handlers often have extra dependencies and are best lazily-loaded, you'll want to register them in the IoC container.

Let's say we have two classes, RegisterUserCommand and RegisterUserHandler. Add the following to config/tactician.php

return [

    'buses' => [

        'default' => [

            'commandbus' => 'League\Tactician\CommandBus',

            'middleware' => [
                // ...
            ],

            'commmands' => [

                'RegisterUser' => [
                    'command' => 'Namespace\RegisterUserCommand',
                    'handler' => 'Namespace\RegisterUserHandler'
                ],
                'RemoveUser' => [
                    'command' => 'Namespace\RemoveUserCommand',
                    'handler' => 'Namespace\RemoveUserHandler'
                ],                
                
                // ...

            ],

        ],

    ],
];