castor ist ein in PHP erstellter DX-orientierter Task-Runner mit einer Reihe von Funktionen für die Verarbeitung gängiger Aufgaben.
Es kann als Alternative zu Makefile-, Fabric-, Invoke-, Shell-Skripten usw. betrachtet werden, nutzt jedoch die Skriptfunktionen und das umfangreiche Bibliotheksökosystem von PHP.
Es verfügt über viele Funktionen, die Ihnen das Leben erleichtern:
run()
: Führen Sie externe Prozesse aus und ermöglichen Sie so eine nahtlose Integration mit externen Toolsio()
: Zeigt eine schöne Ausgabe an und interagiert mit dem Terminalwatch()
: Überwacht Dateien und löst automatisch Aktionen bei Dateiänderungen ausfs()
: Dateien und Verzeichnisse erstellen, entfernen und bearbeitenNotiz
castor befindet sich noch in der frühen Entwicklungsphase und die API ist noch nicht stabil. Auch wenn es unwahrscheinlich ist, ist es dennoch möglich, dass sich dies in Zukunft ändern wird.
In castor werden Aufgaben als typische PHP-Funktionen eingerichtet, die mit dem Attribut #[AsTask()]
in einer castor .php
Datei gekennzeichnet sind.
Diese Aufgaben können jeden beliebigen PHP-Code ausführen, aber auch verschiedene Funktionen für Standardoperationen nutzen, die im castor vorinstalliert sind.
Zum Beispiel:
<?php
namespace greetings ;
use castor Attribute AsTask ;
use function castor io ;
#[AsTask()]
function hello (): void
{
io ()-> writeln ( ' Hello from castor ' );
}
Stellt eine greetings:hello
-Aufgabe bereit, die Sie mit castor greetings:hello
ausführen können:
$ castor greetings:hello
Hello from castor
Dann können Sie sich austoben und komplexere Aufgaben erstellen:
#[AsTask(description: ' Clean the infrastructure (remove container, volume, networks) ' )]
function destroy ( bool $ force = false )
{
if (! $ force ) {
io ()-> warning ( ' This will permanently remove all containers, volumes, networks... created for this project. ' );
io ()-> comment ( ' You can use the --force option to avoid this confirmation. ' );
if (! io ()-> confirm ( ' Are you sure? ' , false )) {
io ()-> comment ( ' Aborted. ' );
return ;
}
}
run ( ' docker-compose down -v --remove-orphans --volumes --rmi=local ' );
notify ( ' The infrastructure has been destroyed. ' )
}
Wenn Sie mehr über die Verwendung erfahren möchten, können Sie die grundlegende Nutzungsdokumentation lesen oder sich einige Beispiele ansehen.
Tipp
Dies ist die empfohlene Methode zur Installation castor unter Linux und macOS. Es erfordert PHP >= 8.1.
curl " https://castor.jolicode.com/install " | bash
Es gibt andere Möglichkeiten, castor zu installieren. Weitere Informationen finden Sie in der Dokumentation.
Erfahren Sie mehr, indem Sie die Dokumente lesen:
run()
ausführen