alexeyshockov/plain-commands-bundle
console component already supports annotations via Sensio\Bundle\FrameworkExtraBundle (which this bundle depends on). The added value is minimal—primarily syntactic sugar for command registration.plain-commands package is also archived and lacks Laravel-specific abstractions (e.g., Artisan commands).register method in service providers (native support).Why Annotations?
Alternatives Evaluation
Artisan::command() or service providers) suffice?Long-Term Viability
Performance Impact
plain-commands package could theoretically be adapted for Laravel, but it lacks:
| Step | Action | Laravel Equivalent |
|---|---|---|
| 1 | Register commands via annotations | Use Artisan::command() or service provider bind() |
| 2 | Tag services for DI | Define commands as Laravel service providers or console kernel bindings |
| 3 | Configure command arguments | Use Laravel’s handle() method or argument binding |
| 4 | Bundle integration | Not applicable (Symfony-specific) |
Recommended Path:
Sensio\FrameworkExtraBundle (dependency) is irrelevant in Laravel.plain_commands.set tag cannot be mapped to Laravel’s service container.bind() or singleton().Artisan::extend() for global command modifications.Illuminate\Console\Command traits for shared logic.| Risk | Mitigation |
|---|---|
| Bundle breaks with Symfony updates | Avoid dependency entirely; use Laravel natives. |
| Custom annotation parser fails | Fall back to service providers or traits. |
| Team resistance to Laravel patterns | Document migration benefits (e.g., better IDE support, no Symfony bloat). |
How can I help you explore Laravel packages today?