PackageTrack
Sign in Get early access

league/tactician

A small, flexible command bus. Handy for building service layers.

v1.2.0 16M downloads/mo #1746 most downloaded on Packagist thephpleague/tactician

What this package is like to depend on

Last release 8 months ago

21 Dec 2025

Ships unpredictably

gaps range from 5 weeks to 4.9 years

Most releases are documented

notes for 8 of 12 stable releases

Nothing withdrawn

no release was ever pulled

12 years old

12 releases · first in 2015

1 release in the last 12 months

see the full history below

Release timeline

12 releases · Feb 2015 to Dec 2025
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 12
  1. v1.2.0 21 Dec 2025

    Nothing published for this version

  2. v1.1.0 14 Feb 2021

    Nothing published for this version

  3. v1.0.3 30 Nov 2017
    Release notes

    BC Breaks:

    • None

    New features:

    • #118 - Added class name inflector
    Open source →
  4. v1.0.2 20 Feb 2016
    Release notes

    BC Breaks:

    • None

    New features:

    • #95: Added .gitattributes to speed up installation
    Open source →
  5. v1.0.1 19 Feb 2016
    Release notes

    BC Breaks:

    • None

    New features:

    • #96: More detailed error message when accidentally passing a non-object into the command bus (array, callable, string, etc).
    Open source →
  6. v0.6.1 02 Aug 2015
    Release notes

    BC Breaks:

    • None

    New features:

    Bug fixes:

    Open source →
  7. v0.6.0 08 May 2015
    Release notes Open source →
  8. v0.5.0 04 Apr 2015
    Release notes

    tl;dr CommandHandlerMiddleware now requires an extra first parameter, you just need to pass an instance of ClassNameExtractor to it.

    BC breaks: Previously, the HandlerLocator interface was responsible for both mapping a Command to a string name AND looking up that string name in some sort of DI container or locator. That worked alright but made it difficult to use custom naming strategies with different DI containers. Therefore, we've made the following two changes:

    • A new interface, CommandNameExtractor is responsible for mapping a Command to a string name.
    • HandlerLocator::getHandlerForCommand() now accepts a string name instead of a Command object as its only parameter.
    • The CommandHandlerMiddleware now requires a CommandNameExtractor as its first parameter. To continue using the same behavior you've had until now, you only need to pass in an instance of ClassNameExtractor

    New features:

    • A new MethodNameInflector is included with core, HandleClassNameWithoutSuffix. Since many users suffix their command class names with -Command, this allows you to have Handler methods based on the class name but without that Suffix. In other words, the command class RentMovieCommand would be mapped to the method handleRentMovie.

    Bug fixes:

    • Several docblocks have been corrected or improved.
    Open source →
  9. v0.4.0 30 Mar 2015
    Release notes

    BC breaks:

    • Removed the League\Tactician\Command interface. Now any plain ol' PHP object can be a command! See #43 and #45.

    New features:

    • None

    Bug fixes:

    • None
    Open source →
  10. v0.3.0 12 Feb 2015
    Release notes

    First public release!

    Open source →
  11. 2.0-rc1 28 Jul 2019

    Nothing published for this version

  12. 1.0 31 Dec 2015

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive