Archive for the ‘Shell’ tag
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: