Beispiel
Handle Symfony Console reentrancy and shared state across nested doRun sub-commands, HelperSet input mutations, section output rewrites, and consecutive ArrayInput bindings
sha256:403a4477823e3c31ef880554c7e1d83e9ee2e5182b4363b8e73e751a7cae9b95
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Handle Symfony Console reentrancy and shared state across nested doRun sub-commands, HelperSet input mutations, section output rewrites, and consecutive ArrayInput bindings HOW
- Pakete
- symfony/console 7.4.16
- Umgebung
- php
- Erstellt
- 2026-08-16T12:47:14Z
Häufige Annahme
A competent developer or model expects that during the execution of a parent command, the Application's active running command context is preserved across sub-command invocations, ensuring that error rendering retains the parent command's synopsis throughout its lifecycle.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- Application doRun resets runningCommand to null upon sub-command completion instead of restoring the parent command
- Application renderThrowable omits the command synopsis when an unhandled exception occurs in a parent command after a sub-command execution
- Application doRun bypasses configureIO leaving OutputInterface verbosity unconfigured by sub-command input flags
- Application run restores SHELL_VERBOSITY to parent level in finally block after nested command execution
- Shared HelperSet InputAwareHelper retains child command input after nested sub-command execution finishes
- ConsoleSectionOutput emits cursor-up and screen-clear escape sequences to redraw lower sections when an upper section writes
- ArrayInput bind resets arguments from initial constructor parameters across consecutive Command run calls discarding programmatic mutations
Dateien
- NOTES.md
- composer.json
- composer.lock
- csx.json
- test/contract.php
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- php 8 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · composer@1 · 2026-08-16 · ed25519:d91480838ac982c9