adgoal / tactician
A small, flexible command bus. Handy for building service layers.
Requires
- php: >=7.2
Requires (Dev)
- league/container: ^3.3
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^0.11.12
- phpstan/phpstan-phpunit: ^0.11.2
- phpunit/phpunit: ^8.2
- squizlabs/php_codesniffer: ^3.4
README
A small, pluggable command bus.
See the full docs or the examples directory to get started.
Install
Using Composer:
composer require league/tactician
Plugins
The core Tactician package is small but there are several plugin packages that extend the usefulness of Tactician:
- Logger: Adds PSR-3 logging support for receiving, completing or failing commands.
- Container: Lazy load handlers from any container implementing container-interop.
- Doctrine: Wraps commands in separate Doctrine ORM transactions.
- Bernard: Allows queuing your commands in the background, using the Bernard Queuing library.
- Command Events: Fires events for all major moments in the command life-cycle.
- Locking: Only allows one command to be executed at a time.
- and many more
Framework Integration
There are a number of framework integration packages for Tactician, search for Tactician on Packagist for the most up-to-date listings.
Testing
To run all unit tests, use the locally installed PHPUnit:
$ ./vendor/bin/phpunit
Security
Tactician has no previous security disclosures and due to the nature of the project is unlikely to. However, if you're concerned you've found a security sensitive issue in Tactician or one of its related projects, please email disclosures [at] rosstuck dot com.
Contributing
Please see CONTRIBUTING for details.