TYPO3 Adventskalender 2025

13.12.2025: CLI Kommandos

In TYPO3 14.0 gibt es ein paar neue Kommandozeilen-Hilfen (CLI), für alle Shell-Liebhabende:

Auto-Vervollständigung

Eine Symfony-Command "Auto-Vervollständigung" ist nun aktiviert, d.h. man kann einen Shell-Datensatz "aktivieren", so dass dann nach Eingabe von `bin/typo3` mit TAB eine Liste aller verfügbaren Commands angezeigt werden kann, falls man mal wieder vergessen hat ob es nun "flush:cache" oder "cache:flush" heißt.

Aktiviert wird das ganze über die eigene Shell-Erweiterung via `bin/typo3 completion`. Der Befehl liefert dann Code aus, den man in seine eigene .bashrc oder .zshrc einfügen sollte, um dies immer automatisch zur Verfügung zu haben. Damit der Befehl immer up-to-date ist empfiehlt es sich, dass man diese Zeile in seine bash/zshrc einfügt:

eval "$(/path/to/typo3/vendor/bin/typo3 completion bash)"

Wichtig: Wenn man DDEV/Docker Setups benutzt, muss man dies entsprechend in seinen homeadditions hinterlegen.

Auch steht die Argument/Options-Autovervollständigung für Symfony-Commands grundsätzlich zur Verfügung, so dass z.b. bei Eingabe von "pid=" und einem TAB eine Liste von PIDs angezeigt werden könnte. Dies erfordert aber eine Integration in Symfony Commands. Beispielhaft wurde das in die Command von `bin/typo3 redirects:cleanup` und `bin/typo3 redirects:checkintegrity` eingebaut, so dass dort z.B. verfügbare Sites oder Domains mit “TAB” ausgewählt werden können.

Sprach-Helfer

Aufgrund der neuen symfony/translate-Integration (siehe Tür 9) ist es hilfreich, einen Überblick über seine Sprachdateien und Labels zu erhalten. Dies geht via `bin/typo3 language:domain:list` und zeigt dann eine Tabelle aller bekannten Sprachdateien und Anzahl der Labels dar. Als Bonus kann mit mit dem “--deprecated” Argument auch alle Labels anzeigen lassen, die als “veraltet” ausgezeichnet sind.

Ein passendes Gegensütck ist `bin/typo3 language:domain:search` mit dem man gezielt (sogar mit regulären Ausdrücken) nach den Inhalten von Sprachdateien suchen kann (also nicht nur nach den Sprachkeys!). Dafür kann man dann auch gezielt die Sprache festlegen, in der man sucht.

In beiden Kommandos kann man auch gezielt nach Extensions filtern. Eine Ausgabe nach JSON rundet das ganze für sehr nette Developer Experience ab.

Install-Tool Passwort

Das Install-Tool-Password kann jetzt auch unabhängig von der GUI gesetzt werden, was gerade für Continuous Integration / Delivery Pipelines hilfreich ist, oder um automatisiert Instanzen zu provisionieren. Dies geht via bin/typo3 install:password:set - auch automatische Passwörter können erzeugt werden.

Cache

Mit `bin/typo3/ cache:flushtags` und der `--groups` Option können nun gezielt Cache-Tags gelöscht werden, wie man es schon von der TYPO3 Console Extension von Helmut Hummel kannte.

AsNonSchedulableCommand

Bisher wurden Symfony Commands entweder in der Service-Definition deklariert, oder mit einem netten `#[AsCommand]` Symfony tag. Sobald man jedoch ein Command erstellen wollte, das NICHT im Task-Planer auswählbar war, konnte man jedes Symfony tag nicht mehr nutzen.

Dafür gibt es nun das `#[AsNonSchedulableCommand]` mit dem man ein Command auszeichnen kann, so dass es im Task-Planer nicht ausführbar ist, sondern eben nur auf der Konsole.

Fluid Cache Warmup

Mit `bin/typo3 fluid:cache:warmup` können nun Fluid-Templates automatisch vorkompiliert werden, was zu einer besser responsivität des TYPO3-Auftritts nach einem Deployment führt. Dies wird auch automatisch im `cache:warmup` mit ausgeführt, jedoch dort mit etwas weniger Optionen/Ausgaben.

Debugging-Hilfen

Mit dem neuen Command `debug:backend:modules` lässt sich eine Liste aller registrierten Backend-Module, mitsamt Labels und Konfiguration, und in der selben Hierarchie des Backends anzeigen lassen.

Und mit `debug:backend:routes` lassen sich alle Routen im TYPO3-Backend mitsamt deren Modul-Abhängigkeiten und Konfiguration anzeigen.

Beides hilft sehr, um eine schnelle Übersicht in einer Instanz zu erlangen, ohne in alle Konfigurationsdateien schauen zu müssen.

BITV Check - Wir prüfen Ihre Website oder Ihr digitales Produkt.

Wir setzen die Projekte unsere Kunden nicht nur BITV-konform um, wir prüfen auch Websites, Apps und digitale Produkte hinsichtlich der gesetzlichen Anforderungen. Buchen Sie unser 30-Minten-Erstgespräch - unverbindlich, klar und kompetent. Denn digitale Barriefreiheit ist Pflicht.