Neues PHP CLI Template für Docker-basierte Projekte
Nicht jedes PHP-Projekt braucht einen Webserver. Manchmal möchte man einfach ein kleines CLI-Tool bauen: einen Importer, einen Datenkonverter, einen Cronjob, ein kleines Automatisierungsskript oder irgendeine andere Anwendung, die über die Kommandozeile ausgeführt wird.
Genau dafür gibt es jetzt ein neues PHP CLI Template von WebDevMentor.
Schnell startklar mit PHP 8.5
Das Template basiert auf PHP 8.5 CLI und bringt bereits eine komplette Entwicklungsumgebung mit. Enthalten sind unter anderem:
- PHP 8.5 CLI
- Docker und Docker Compose
- Composer
- PHPUnit
- Mailpit für lokale E-Mail-Tests
- GitHub Actions
- ein Makefile für die wichtigsten Entwicklungsaufgaben
- eine vorbereitete Projektstruktur mit
src/,tests/undbin/
Damit muss man nicht jedes neue CLI-Projekt wieder mit derselben Docker- und Composer-Grundkonfiguration beginnen.
Der tägliche Workflow
Die Idee hinter dem Template ist bewusst einfach. Nach der einmaligen Initialisierung:
make install
kann die Entwicklungsumgebung über
make shell
gestartet werden. Das startet die Docker-Container und öffnet direkt eine Shell im PHP-Container.
Dort kann dann ganz normal mit der Anwendung gearbeitet werden:
bin/example
oder beispielsweise:
vendor/bin/phpunit
Wer mit der Arbeit fertig ist, verlässt die Shell einfach mit exit.
Die Container können bei Bedarf mit
make stop
gestoppt werden. Das ist für mich der angenehmere Workflow für ein CLI-Projekt: Nicht ständig eine komplette Anwendung „starten“ und „stoppen“, sondern einfach eine Entwicklungs-Shell öffnen, wenn man arbeiten möchte.
Docker, aber ohne Docker-Gefrickel
Ein weiterer Grund für das Template ist die möglichst reproduzierbare Entwicklungsumgebung. PHP, Composer und die benötigten Extensions befinden sich im Container. Auch Mailpit steht direkt als Service zur Verfügung.
Dadurch muss auf dem Host-System im Wesentlichen nur Docker, Docker Compose und make vorhanden sein.
Die Composer-Abhängigkeiten werden ebenfalls innerhalb des Containers installiert. Ein Composer-Cache als Docker Volume sorgt dafür, dass wiederholte Installationen nicht jedes Mal alles neu herunterladen müssen.
Tests sind von Anfang an dabei
Ein neues Projekt sollte nicht erst irgendwann später eine Testsuite bekommen. Deshalb enthält das Template bereits eine PHPUnit-Konfiguration, Beispieltests und einen GitHub-Actions-Workflow.
Die Idee ist simpel:
Ein neues Projekt startet nicht nur mit einer leeren src/-Struktur, sondern mit einer funktionierenden Basis für Entwicklung und Tests.
Das Beispiel lässt sich anschließend entfernen oder durch die eigene Anwendung ersetzen.
Version 2026.08
Die erste veröffentlichte Version trägt den Tag v2026.08.
Damit ist das Template jetzt als reproduzierbarer Ausgangspunkt verfügbar und kann für neue Projekte verwendet werden.
Die aktuelle Version und die vollständige Projektstruktur findest du auf GitHub:
👉 webdevmentor/php-cli-template
Für wen ist das Template gedacht?
Das Template richtet sich vor allem an Entwicklerinnen und Entwickler, die ein neues PHP-CLI-Projekt starten möchten, ohne jedes Mal die gleiche Infrastruktur von Grund auf aufzubauen. Es ist bewusst kein fertiges Framework und auch keine fertige Anwendung.
Es ist ein Startpunkt.
Docker, Composer, PHPUnit, Mailpit, CI und eine sinnvolle Projektstruktur sind bereits vorbereitet. Der eigentliche Fokus kann dadurch schneller auf dem liegen, was die Anwendung später tatsächlich tun soll.
Vielleicht spart es dem einen oder anderen ja ein paar Stunden Setup-Arbeit. 🙂
