Archive for the ‘Konsole’ tag
History und Autocompletion in Konsolentools mit readline
In automatischen Scripten nutzt man Parameter die man seinem PHP Script übergibt damit es weiß was es tun soll. Doch manchmal ist es auch angenehm bei einem manuellen Aufruf den User nach Informationen zu fragen. Dazu gibt es in PHP die readline* Funktionen. Damit diese genutzt werden können muss PHP mit readline-Support kompiliert sein.
Falls das nicht der Fall ist und man PHP selbst kompiliert geht das so:
Farben in der Kommandozeile nutzen
Wenn man nur Webseiten erstellt braucht man im Normalfall keine Konsolenscripte, aber bei Cronscripten oder anderen Administrationshelfern wird die CLI-Fähigkeit von PHP häufig genutzt. Manchmal möchte man dabei eine farbige Ausgabe, sprich farbige Schrift und farbigen Hintergrund, um Fehler oder wichtige Meldungen auszugeben und die Ausgabe etwas zu strukturieren.
Hier meine einfache Klasse, die farbige Schrift auf der Konsole ausgeben kann:
Weiterlesen »
Eine Progressbar in der Konsole
Wer des öfteren Konsolenscripte in PHP schreibt kennt das Problem vielleicht: Das neue Admin-Script scheint wunderbar zu laufen, aber irgendwie möchte man den aktuellen Fortschritt beobachten können, denn solche Scripte laufen auch mal mehrere Minuten oder Stunden. Häufig gibt man dann bei jedem Schleifendurchlauf einen Punkt aus, sodass sich die Konsole mit Punkten füllt. Oder aber man gibt eine Laufvariable aus:
for ($i=0; $i<1000; $i++) { // Schleifeninhalt echo $i."\n"; }
Etwas professioneller sieht natürlich eine Progressbar aus, die die vergangene Zeit ausgibt, eine prozentuale Anzeige und die geschätzte Restzeit.
Das Zend Framework bietet dafür die Zend_Progressbar. Diese Komponente stellt mehrere Adapter bereit: Console, JsPush und JsPull. Hier zeige ich nur die Verwendung für die Konsole, das oben gezeigte Beispiel setzt man so um: