thephpleague/tactician

A small, flexible command bus

Hosted by The PHP League

View on GitHub ↗Jump to charts ↓

thephpleague/tactician has 850+ stars and 80+ forks on GitHub, is written in PHP, and was last pushed on Dec 21, 2025. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 23 minutes ago
Type:Library / SDKCategory(s):Backend FrameworksWeb Development
Added to GitGenius on October 12th, 2026
Created on January 6th, 2015
Open Issues & Pull Requests: 3 (+0)
GitHub issues: Enabled
Number of forks: 87
Total Stargazers: 864 (+0)
Total Subscribers: 28 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.
Sign in

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Tactician is a command bus for PHP that provides a small, flexible implementation of the command pattern.

The tool solves the problem of organizing application logic by routing commands to their corresponding handlers. It works by accepting command objects, locating the appropriate handler for each command, and executing that handler. This approach decouples the code that issues commands from the code that executes them, making applications easier to test and maintain. The bus can be configured with middleware to add cross-cutting concerns like logging, validation, or transaction management around command execution.

Tactician suits projects where you want to structure business logic around discrete, named actions rather than procedural code paths. It works well in applications ranging from small services to larger systems where command organization becomes valuable. The tool is particularly useful when you need to add consistent behavior across multiple commands through middleware, or when you want to make command handling testable in isolation. Teams should choose this tool if they value explicit command routing and the ability to compose behavior through middleware chains, rather than relying on framework-level request handling or service locators.

The project maintains a stable, minimal codebase focused on the core command bus abstraction. Development activity shows consistent attention to the repository with regular engagement on issues and pull requests. The maintainers respond to community contributions and keep the tool aligned with PHP ecosystem standards. The project demonstrates a commitment to keeping the implementation lean and avoiding feature creep, which aligns with its stated goal of being small and flexible rather than comprehensive.