Cli クラス
コマンドライン上で入力オプション、パラメーター、出力テキストの操作ができます。
beep($num = 1)
beep メソッドは、コマンドを実行しているコンピュータでビープ音を鳴らします。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$num |
1 |
ビープ音の回数。 |
|
返り値 |
void |
例 |
Cli::beep(25);
|
color($text, $foreground, $background = null, $format = null)
color メソッドは、指定したテキストの色を変更します。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$text |
必須 |
色を変更する文字列。 |
$foreground |
必須 |
文字列の文字色。 |
$background |
null |
文字列の背景色。 |
$format |
null |
適用したい別の書式。現在のところ、'underline' のみサポートしています。 |
|
返り値 |
string |
例 |
if (true === false)
{
$message = Cli::color('Error: The universe is broken.', 'red');
}
else
{
$message = Cli::color('All is well with the world.', 'green');
}
Cli::write($message);
|
error($text)
error メソッドは、コマンドラインにエラーとしてテキストを出力します (write メソッドと似ていますが、STDOUT ではなく STDERR を利用します) 。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$text |
空の文字列 |
STDERR に出力するテキスト。 |
|
返り値 |
void |
例 |
Cli::error('Failure: You hit the wrong key with your chubby hands, try using a stick to poke the keyboard.');
|
prompt($question = null, $options = array())
prompt メソッドは、ユーザの入力を受け付けるプロンプトを表示します。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$question |
null |
ユーザに質問する文章を表示し、入力を待ちます。 |
$options |
array() |
ユーザの選択肢となる項目の配列。 |
|
返り値 |
string |
例 |
// 何かキーを押してください
Cli::prompt();
// どんな入力も受け付けます
$color = Cli::prompt('What is your favorite color?');
// どんな入力も受け付けますが、デフォルト値があります
$color = Cli::prompt('What is your favorite color?', 'white');
// 配列内にある項目のみ受け付けます
$ready = Cli::prompt('Are you ready?', array('y','n'));
|
option($name, null)
option は、コマンドラインから与えられたオプションを取得します。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$name |
必須 |
オプションの名前。 |
$default |
null |
オプションが与えられなかった場合のデフォルト値です。 |
|
返り値 |
string |
例 |
$ php index.php user -v --v -name=John --name=John
|
wait($seconds = 0, $countdown = false)
wait メソッドは、指定された秒数だけ待機します。オプションでカウントダウン表示をすることもできます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$seconds |
0 |
待機する秒数。 |
$countdown |
false |
カウントダウン表示を出力する。 |
|
返り値 |
void |
例 |
Cli::write('Loading...');
Cli::wait(5, true);
|
write($text = '', $foreground = null, $background = null)
write メソッドは、コマンドラインにテキストを出力します。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$text |
空の文字列 |
コマンドラインに出力するテキスト。 |
$foreground |
null |
文字列の文字色。 |
$background |
null |
文字列の背景色。 |
|
返り値 |
void |
例 |
Cli::write('Hello World!');
|
stdout($resource = null)
現在の標準出力ストリームを変更または取得します。デフォルトは STDOUT です。
public なプロパティ $nocolor
に true を設定すると
すべての出力を強制的にプレーンテキストにできます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$resource |
null |
書き込み可能なファイルハンドル。null の場合は現在のファイルハンドルを取得。 |
|
返り値 |
前のファイルハンドルの値 (または、変更しなかった場合は現在の値) |
例 |
$buffer = fopen('php://temp', 'w+');
$stdout = Cli::stdout($buffer);
Cli::write("Hello World!");
Cli::error("Where's my text? :(");
Cli::stdout($stdout);
Cli::write("There it is!");
rewind($buffer);
file_put_contents('out.log', stream_get_contents($buffer));
// $ cat out.log
// Hello World!
|
stderr($resource = null)
現在の標準エラー出力ストリームを変更または取得します。デフォルトは STDERR です。
public なプロパティ $nocolor
に true を設定すると
すべての出力を強制的にプレーンテキストにできます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$resource |
null |
書き込み可能なファイルハンドル。null の場合は現在のファイルハンドルを取得。 |
|
返り値 |
前のファイルハンドルの値 (または、変更しなかった場合は現在の値) |
例 |
$errors = fopen('php://temp', 'w+');
$stderr = Cli::stderr($errors);
Cli::write("Hello World!");
Cli::error("Where's my text? :(");
Cli::stderr($stderr);
Cli::write("There it is!");
rewind($errors);
file_put_contents('out.log', stream_get_contents($errors));
// $ cat out.log
// Where's my text? :(
|