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

Laminas Cli Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Unified CLI Tooling for Laminas/Mezzio Ecosystem: Standardize CLI command execution across Laminas MVC and Mezzio applications, reducing fragmentation and improving developer experience.
  • Build vs. Buy: Avoid reinventing a CLI runner for internal tools; leverage a battle-tested, community-supported package instead of custom scripts or ad-hoc solutions.
  • Developer Productivity: Enable seamless integration of custom CLI commands (e.g., database migrations, cron jobs, or admin utilities) without coupling them to web routes.
  • Roadmap for Internal Tools: Accelerate development of internal CLI tools (e.g., data processing scripts, deployment helpers) by reusing this package’s dependency injection and command registration patterns.
  • Symfony Console Compatibility: Future-proof CLI tools by supporting Symfony Console’s latest features (e.g., attributes for commands), aligning with modern PHP ecosystems.

When to Consider This Package

  • Use This Package If:

    • Your project uses Laminas MVC or Mezzio and needs a standardized way to run CLI commands.
    • You’re building internal tools, scripts, or cron jobs that require dependency injection (e.g., database access, service containers).
    • You want to avoid maintaining custom CLI entry points (e.g., bin/console-like scripts) and reduce technical debt.
    • Your team uses Symfony Console (or plans to) and needs compatibility with its latest features (e.g., attribute-based commands).
    • You’re targeting PHP 8.2+ and want to drop legacy support (e.g., PHP 7.4).
  • Look Elsewhere If:

    • Your project doesn’t use Laminas/Mezzio—consider Symfony CLI, Laravel Artisan, or a lightweight alternative like symfony/console directly.
    • You need advanced CLI features (e.g., interactive prompts, rich output) beyond what Symfony Console offers—evaluate specialized packages like symfony/console or league/cli-table.
    • Your team prefers minimal dependencies—this package pulls in Symfony Console and Laminas components, adding ~5MB to your vendor directory.
    • You’re working with legacy PHP versions (<8.2) or Symfony <6—this package drops support for older versions.

How to Pitch It (Stakeholders)

For Executives:

"This package lets us standardize command-line tools across our Laminas/Mezzio applications, reducing duplication and speeding up development of internal scripts (e.g., data imports, deployments). By reusing a maintained library instead of custom code, we cut technical debt and align with Symfony’s modern CLI patterns. It’s a low-risk, high-reward way to improve developer productivity—think of it as ‘Artisan for Laminas.’"

For Engineers:

*"Laminas CLI gives us a drop-in solution to run Symfony Console commands in Laminas/Mezzio apps without reinventing the wheel. Key benefits:

  • Unified CLI entry point: Replace ad-hoc scripts with a single vendor/bin/laminas command.
  • Dependency injection: Register commands via config (like routes) and leverage the service container.
  • Future-proof: Supports Symfony Console’s latest features (e.g., attributes) and PHP 8.5+.
  • Lightweight: No bloat—just a thin wrapper around Symfony Console.

Use case: Need a CLI tool for [X feature]? Write a Symfony command, register it in config/autoload/laminas-cli.global.php, and run it via laminas my:command. No more hacking bin/ scripts."*

For Developers:

*"If you’re tired of writing custom CLI entry points or dealing with broken bin/console-like scripts, this package is your savior. It:

  • Works with Laminas MVC and Mezzio out of the box.
  • Lets you define commands in config (like routes) and inject dependencies.
  • Supports Symfony Console attributes (e.g., @Command, @Argument) for modern PHP.
  • Fixes common pain points (e.g., missing --container flag, better error handling).

Example: To add a user:export command:

  1. Create module/Config/cli.php:
    return ['laminas-cli' => ['commands' => ['user:export' => UserExportCommand::class]]];
    
  2. Run vendor/bin/laminas user:export --help. No more bin/ script boilerplate!"*
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.
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
ecotone/kafka
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata