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ährend 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.