Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Tactician Laravel Package

league/tactician

Tactician is a small, pluggable PHP command bus. Route commands to handlers and extend behavior via middleware and plugins (logging, containers, Doctrine transactions, queuing, events, locking). Install with Composer and integrate with your framework of choice.

View on GitHub
Deep Wiki
Context7
1.0.3

BC Breaks:

  • None

New features:

  • #118 - Added class name inflector
1.0.2

BC Breaks:

  • None

New features:

  • #95: Added .gitattributes to speed up installation
1.0.1

BC Breaks:

  • None

New features:

  • #96: More detailed error message when accidentally passing a non-object into the command bus (array, callable, string, etc).
1.0.0

No changes. The current API has held up for quite sometime and is being used in production by a number of folks. Therefore, Tactician now has official 1.0 support. A huge thanks to everyone who's contributed over the last year!

0.6.1

BC Breaks:

  • None

New features:

Bug fixes:

0.5.0

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.
0.4.0

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
0.3.0

First public release!

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport