PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for the ‘Konsole’ tag

History und Autocompletion in Konsolentools mit readline

with 2 comments

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:

Weiterlesen »

Written by Michael Kliewe

Oktober 26th, 2011 at 9:38 am

Farben in der Kommandozeile nutzen

with 7 comments

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 »

Written by Michael Kliewe

Februar 3rd, 2011 at 9:04 am

Eine Progressbar in der Konsole

with 8 comments

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:


Weiterlesen »

Written by Michael Kliewe

Juli 4th, 2010 at 2:08 pm