laminas/laminas-cli
Console tooling for Laminas applications and components. Provides a CLI entry point, command discovery/registration, and integration helpers to build and run project-specific commands via Composer and your framework configuration.
laminas/laminas-mvc, mezzio/mezzio).symfony/console natively), but useful if:
laminas/laminas-servicemanager) over Laravel’s.laminas-cli command mapping).artisan if commands are namespaced (e.g., vendor/bin/laminas vs. artisan).artisan is self-contained; no need for an additional CLI runner unless bridging Laminas components.symfony/console, but laminas-cli adds Laminas-specific DI integration.| Risk Area | Assessment |
|---|---|
| Dependency Conflicts | Medium. laminas-cli requires symfony/console (v6+), which may conflict with Laravel’s version if not managed via composer. |
| DI Container Mismatch | High. Laravel’s container (Illuminate\Container) is incompatible with Laminas’ laminas-servicemanager. Requires adapter layers or dual configurations. |
| Command Registration | Medium. Custom commands must be explicitly mapped in config (unlike Laravel’s autoloading). |
| PHP Version Support | Low. Requires PHP 8.5+ (as of v1.13.0), which may lag behind Laravel’s LTS support (e.g., Laravel 10 supports PHP 8.1+). |
| Legacy Compatibility | High. Drops support for PHP 8.1 (v1.13.0), which may affect older Laravel projects. |
Why Laminas CLI?
symfony/console alone (or Laravel’s artisan) achieve the same goals with less overhead?Dependency Management
laminas-cli’s symfony/console version be locked to avoid conflicts with Laravel’s?Command Lifecycle
artisan and laminas-cli, or kept separate?Long-Term Maintenance
laminas-cli diverges from Laravel’s CLI standards?Performance/Scaling
laminas-cli provides over artisan?laravel-sail, telescope) conflict with laminas-cli?artisan.| Step | Action | Tools/Dependencies |
|---|---|---|
| 1 | Assess Dependency Impact | composer why-not laminas/laminas-cli |
| 2 | Lock Symfony Console Version | composer require symfony/console:^7.0 |
| 3 | Integrate Laminas CLI | composer require laminas/laminas-cli |
| 4 | Configure Command Mapping | Update config/autoload/laminas-cli.php |
| 5 | Test Command Discovery | Verify vendor/bin/laminas list works |
| 6 | Adapter Layer (Optional) | Create a Laminas-to-Laravel DI bridge |
| 7 | Document Dual CLI Usage | Guide for artisan vs. laminas commands |
laminas-servicemanager).laminas-cli and test basic command execution.composer validate.laminas-cli.alias laminas='vendor/bin/laminas') for developer convenience.artisan vs. laminas.artisan with laminas-cli for Laminas-specific tasks.artisan commands in favor of laminas-cli where applicable.artisan and laminas-cli, increasing complexity.laminas-servicemanager and related components, increasing Composer lockfile size.laminas-cli config.laminas-cli config.symfony/console version mismatches) may surface in CI/CD.artisan with --parallel).Process component for subprocesses.How can I help you explore Laravel packages today?