Console_ProgressBar は、 カスタマイズ可能なプログレスバーをコンソール/ターミナルに表示します。
例 38-13プログレスバーの例
|
設定方法
require_once "Console/ProgressBar.php"
Console_ProgressBar のインスタンスを作成します。
何らかの進捗があった時点で update() をコールします。
最後に erase() をコールします (オプション)。
例 38-14単純なプログレスバーの例
|
この例では、5 個のパラメータを使用してプログレスバーのインスタンスを作成します。 使用するパラメータは format string、bar string、 empty string、console width および target number です。
最初のパラメータ format string は、プログレスバー全体のレイアウトを指定します。 任意の文字のほかに、置換用の変数を指定することができます。
%bar% が実際のプログレスバーです。
%current% は update() で設定する実際の値です。
%max% は、コンストラクタで設定した最大値 (target number) で置き換えられます。
%fraction% は %current%/%max% と同じ値です。
%percent% は進捗状況をパーセントで表したものです。
%elapsed% は経過時間です。
%estimate% は、完了までの予測時間です。
二番目の引数は、プログレスバーで使用する文字列です。上の例では "=>" を指定しています。指定した文字列が短すぎる場合 (この例の "=>" のように)、必要な長さを埋めるために、 一番左の文字が繰り返されます。指定した文字列が長すぎる場合、 余分な文字は左側から切り詰められます。
三番目の引数は、プログレスバーの「空欄」の位置を埋める文字列です。 上の例では "-" を指定しています。指定した文字列が短すぎる場合 (この例の "-" のように)、必要な長さを埋めるために、 一番右の文字が繰り返されます。指定した文字列が長すぎる場合、 余分な文字は右側から切り詰められます。
四番目の引数では表示幅を指定します。通常のコンソール/ターミナル の幅は 80 文字なので、ここでは 80 を渡しています。 現時点では、ターミナルの文字幅を取得するメソッドはありません。
五番目の引数は、プログレスバー全体が表す数値です。 たとえば 115 KB の大きさのファイルのダウンロード時にプログレスバーを表示するなら、 ここで 115 を指定します。