Download the PHP package survos/command-bundle without Composer
On this page you can find all versions of the php package survos/command-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download survos/command-bundle
More information about survos/command-bundle
Files in survos/command-bundle
Package command-bundle
Short Description Run Symfony console commands from a web interface
License MIT
Informations about the package command-bundle
Command Bundle
Run, background, and monitor Symfony console commands. Three things:
- Web command runner — run any
#[AsCommand]from a web page (with the Symfony profiler available), for easier debugging. - Background runner —
bg:run "<cmd>"dispatches a command to an always-on Messenger worker so long jobs survive logout / container teardown. - Process registry + monitor — every background run is recorded as a
CommandProcess(status, timing, output, named "slots"); watch them live in a TUI (bg:monitor) or the web list (/…/processes).
Requirements
- PHP 8.4+, Symfony 8.1+
- Doctrine ORM (ships the
CommandProcessentity) symfony/messenger(forbg:runand background recording)survos/tui-extras-bundle— optional, only for thebg:monitorTUI (require-dev/suggest)
Commands
| Command | What |
|---|---|
bg:run "<cmd>" |
Dispatch <cmd> to the command Messenger worker. One message per command (fan out). |
bg:monitor (alias monitor) |
Live TUI of background runs, grouped by command, status by glyph, most-recent-first. Needs survos/tui-extras-bundle. |
bg:run requires the app to route RunCommandMessage to an async transport and run a worker:
Verbosity note: captured output inherits the worker's verbosity.
messenger:consume -qmakes the run's output QUIET (nothing captured); run at normal verbosity to record output.
Process registry & slots
Background runs are recorded in the command_process table (only bg:run runs — plain CLI/web runs are not recorded). A command can push a styled, named status fragment to the monitor with plain PSR-3 logging:
Configuration
Upgrading (process registry)
This bundle now ships the CommandProcess Doctrine entity and requires doctrine/orm, survos/field-bundle, symfony/messenger, and symfony/uid. After updating, create the table:
- SQLite (dev):
bin/console doctrine:schema:update --force - PostgreSQL / shared:
bin/console doctrine:migrations:diff→ review → migrate
Routes default to off — set survos_command.routes_enabled: true (under a secured prefix) to use the web UI/monitor.
Web command runner
Long-running commands: see https://github.com/symfony/symfony/discussions/59696. The run form also has a "Dispatch via Messenger (async)" checkbox.
Purpose
Use assert(), dump() and dd() are quick and easy debug tools when debugging a Symfony web page. But it's often difficult to use within the console, since the formatting is for a web page.
For example, in the official Symfony Demo, there is a command to send the list of users to an email address.
Debugging this is much easier with Symfony's Debug Toolbar, this bundle wraps the console commands with a web interface so that the toolbar is available.
Now go to /admin/commands and see what's available
Select list-users, and fill in the email.
Submit the form and open the debug toolbar:
With dumps and asserts, this is even more helpful.
Example with Symfony Demo
composer config extra.symfony.allow-contrib true composer config extra.symfony.endpoint --json '["https://raw.githubusercontent.com/symfony/recipes-contrib/flex/pull-1708/index.json", "flex://defaults"]'
Defining commands
Symfony 8.1+ lets you mark methods on any service with #[AsCommand], with arguments and options described via attributes. The web form rendered by this bundle introspects the same metadata the CLI uses, so no separate command class is required.
The same form supports a "Dispatch via Messenger (async)" checkbox for long-running work — wire up Messenger and the command runs in a worker rather than the request cycle.
with castor
Add attribute to AppCastorTest.php
All versions of command-bundle with dependencies
symfony/config Version ^8.1
symfony/console Version ^8.1
symfony/dependency-injection Version ^8.1
symfony/form Version ^8.1
symfony/framework-bundle Version ^8.1
symfony/http-kernel Version ^8.1
twig/twig Version ^3.4
doctrine/orm Version ^3.6
survos/field-bundle Version ^2.5
survos/kit-bundle Version ^2.5
symfony/messenger Version ^8.1
symfony/uid Version ^8.1