├── .gitignore ├── .scrutinizer.yml ├── .travis.yml ├── LICENSE ├── README.md ├── composer.json ├── composer.lock ├── examples ├── 1-beginner-standard-usage.php ├── 2-intermediate-decorate-command-bus.php ├── 3-intermediate-custom-naming-conventions.php ├── 4-advanced-custom-handler-loading.php ├── 5-advanced-self-executing-commands.php └── repeated-sample-code.php ├── phpunit.xml.dist ├── src ├── Command.php ├── CommandBus.php ├── Exception │ ├── CanNotInvokeHandlerException.php │ └── MissingHandlerException.php ├── Handler │ ├── Locator │ │ ├── HandlerLocator.php │ │ └── InMemoryLocator.php │ └── MethodNameInflector │ │ ├── HandleClassNameInflector.php │ │ ├── InvokeInflector.php │ │ └── MethodNameInflector.php ├── HandlerExecutionCommandBus.php └── LockingCommandBus.php └── tests ├── Fixtures ├── Command │ ├── AddTaskCommand.php │ ├── CommandWithoutNamespace.php │ └── CompleteTaskCommand.php └── Handler │ ├── ConcreteMethodsHandler.php │ └── DynamicMethodsHandler.php ├── Handler ├── Locator │ └── InMemoryLocatorTest.php └── MethodNameInflector │ ├── HandleClassNameInflectorTest.php │ └── InvokeInflectorTest.php ├── HandlerExecutionCommandBusTest.php ├── LockingCommandBusTest.php └── bootstrap.php /.gitignore: -------------------------------------------------------------------------------- 1 | vendor 2 | -------------------------------------------------------------------------------- /.scrutinizer.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/.scrutinizer.yml -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/README.md -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/composer.json -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/composer.lock -------------------------------------------------------------------------------- /examples/1-beginner-standard-usage.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/examples/1-beginner-standard-usage.php -------------------------------------------------------------------------------- /examples/2-intermediate-decorate-command-bus.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/examples/2-intermediate-decorate-command-bus.php -------------------------------------------------------------------------------- /examples/3-intermediate-custom-naming-conventions.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/examples/3-intermediate-custom-naming-conventions.php -------------------------------------------------------------------------------- /examples/4-advanced-custom-handler-loading.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/examples/4-advanced-custom-handler-loading.php -------------------------------------------------------------------------------- /examples/5-advanced-self-executing-commands.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/examples/5-advanced-self-executing-commands.php -------------------------------------------------------------------------------- /examples/repeated-sample-code.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/examples/repeated-sample-code.php -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/phpunit.xml.dist -------------------------------------------------------------------------------- /src/Command.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/src/Command.php -------------------------------------------------------------------------------- /src/CommandBus.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/src/CommandBus.php -------------------------------------------------------------------------------- /src/Exception/CanNotInvokeHandlerException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/src/Exception/CanNotInvokeHandlerException.php -------------------------------------------------------------------------------- /src/Exception/MissingHandlerException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/src/Exception/MissingHandlerException.php -------------------------------------------------------------------------------- /src/Handler/Locator/HandlerLocator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/src/Handler/Locator/HandlerLocator.php -------------------------------------------------------------------------------- /src/Handler/Locator/InMemoryLocator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/src/Handler/Locator/InMemoryLocator.php -------------------------------------------------------------------------------- /src/Handler/MethodNameInflector/HandleClassNameInflector.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/src/Handler/MethodNameInflector/HandleClassNameInflector.php -------------------------------------------------------------------------------- /src/Handler/MethodNameInflector/InvokeInflector.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/src/Handler/MethodNameInflector/InvokeInflector.php -------------------------------------------------------------------------------- /src/Handler/MethodNameInflector/MethodNameInflector.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/src/Handler/MethodNameInflector/MethodNameInflector.php -------------------------------------------------------------------------------- /src/HandlerExecutionCommandBus.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/src/HandlerExecutionCommandBus.php -------------------------------------------------------------------------------- /src/LockingCommandBus.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/src/LockingCommandBus.php -------------------------------------------------------------------------------- /tests/Fixtures/Command/AddTaskCommand.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/tests/Fixtures/Command/AddTaskCommand.php -------------------------------------------------------------------------------- /tests/Fixtures/Command/CommandWithoutNamespace.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/tests/Fixtures/Command/CommandWithoutNamespace.php -------------------------------------------------------------------------------- /tests/Fixtures/Command/CompleteTaskCommand.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/tests/Fixtures/Command/CompleteTaskCommand.php -------------------------------------------------------------------------------- /tests/Fixtures/Handler/ConcreteMethodsHandler.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/tests/Fixtures/Handler/ConcreteMethodsHandler.php -------------------------------------------------------------------------------- /tests/Fixtures/Handler/DynamicMethodsHandler.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/tests/Fixtures/Handler/DynamicMethodsHandler.php -------------------------------------------------------------------------------- /tests/Handler/Locator/InMemoryLocatorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/tests/Handler/Locator/InMemoryLocatorTest.php -------------------------------------------------------------------------------- /tests/Handler/MethodNameInflector/HandleClassNameInflectorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/tests/Handler/MethodNameInflector/HandleClassNameInflectorTest.php -------------------------------------------------------------------------------- /tests/Handler/MethodNameInflector/InvokeInflectorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/tests/Handler/MethodNameInflector/InvokeInflectorTest.php -------------------------------------------------------------------------------- /tests/HandlerExecutionCommandBusTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/tests/HandlerExecutionCommandBusTest.php -------------------------------------------------------------------------------- /tests/LockingCommandBusTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/tests/LockingCommandBusTest.php -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rosstuck/tactician/HEAD/tests/bootstrap.php --------------------------------------------------------------------------------