Zend_ProgressBar_Adapter_Console
Zend_ProgressBar_Adapter_Console ist ein Textbasierter Adater für Terminals. Er kann
automatisch die Terminalbreite erkennen unterstützt aber auch eigene Breiten. Kann kann definieren
welche Elemente mit dem Fortschrittsbalken angezeigt werden und auch deren Reihenfolge ändern. Man
kann auch den Stil des Fortschrittsbalkens selbst definieren.
Automatische Breitenerkennung der Konsole
shell_exec wird benötigt damit dieses Feature auf *nix basierenden Systemen
funktioniert. Auf Windows, ist die Terminalbreite immer auf 80 Zeichen begrenzt, sodas dort keine
Erkennung notwendig ist.
Man kann auch die Optionen des Adapters entweder über die set* Methoden oder durch die
Übergabe eines Arrays, oder einer Instanz von Zend_Config, an den Constructor mit dem Optionen als
ersten Parameter. Die möglichen Optionen sind:
outputStream: Ein anderer Ausgabe-Stream wenn man nicht auf STDOUT streamen will.
Kann jeder andere Stream wie php://stderr oder ein Pfad zu einer Datei sein.
width: Entweder ein Integer oder die Konstante AUTO von
Zend_Console_ProgressBar.
elements: Entweder NULL für Standard oder ein Array mit zumindest
einer der folgenden Konstanten von Zend_Console_ProgressBar als Wert:
ELEMENT_PERCENT: Der aktuelle Wert in Prozent.
ELEMENT_BAR: Die sichtbare Begrenzung welche den Prozentwert anzeigt.
ELEMENT_ETA: Die automatisch berechnete ETA. Das Element wird zuerst nach
fünf Sekunden angezeigt, weil es wärend dieser Zeit nicht möglich ist korrekte Ergebnisse
zu berechnen.
ELEMENT_TEXT: Eine optionale Statusmeldung über den aktuelle Fortschritt.
textWidth: Breite in Zeichen des ELEMENT_TEXT Elements. Standard ist
20.
charset: Zeichensatz des
ELEMENT_TEXT Elements. Standardwert ist utf-8.
barLeftChar: Ein String der auf der linken Seite des Zeigers des
Fortschrittsbalkens verwendet wird.
barRightChar: Ein String der auf der rechten Seite des Zeigers des
Fortschrittsbalkens verwendet wird.
barIndicatorChar: Ein String der für den Zeiger des Fortschrittsbalkens
verwendet wird. Er kann auch leer sein.