次の PHP コードを含む単純なテキスト ファイルを作成し、hello.php として保存します。
コードをコピーします コードは次のとおりです:
echo "Hello from the CLI";
?>
次に、コマンド ライン プロンプトからこのプログラムを実行してみます。メソッドはファイル名です。これは CLI 実行可能ファイルを呼び出し、スクリプトを提供します:
#php phphello.php
CLI から Hello を出力
標準入出力を使用
これらの 3 つの定数は、独自の PHP スクリプトを使用して、ユーザー入力を受け入れたり、処理や計算の結果を表示したりできます。これをよりよく理解するには、次のスクリプト (
リスト A) を見てください。
リスト A
コードをコピー コードは次のとおりです:
// 入力を要求します
fwrite(STDOUT, "Enter your name: "); / get input
$name = trim(fgets(STDIN));
// 入力を書き戻す
fwrite(STDOUT, "Hello, $name!")>?
実行するとどうなるか見てみましょう:
shell> php hello.php
名前を入力してください: Joe
こんにちは、Joe
このスクリプトでは、 fwrite() 関数は、まず標準出力デバイスにメッセージを書き込み、ユーザーの名前を尋ねます。次に、標準入力デバイス
から取得したユーザー入力情報を PHP 変数に読み込み、文字列に結合します。次に、 fwrite() を使用して文字列を標準出力デバイスに出力します。
-----------------コマンド ライン引数の使用
プログラムの方法を変更するために、コマンド ラインにプログラム パラメータを入力するのが非常に一般的です。練習します。これは CLI プログラムでも行うことができます。 PHP CLI には、この
の目的を達成するために特別に設計された 2 つの特別な変数が付属しています。1 つは $argv 変数で、コマンドラインを通じて PHP スクリプトに渡されるパラメーターを個別の配列要素として保存します。もう 1 つは $argv 変数です。 argc 変数は、$argv 配列に
個の要素を保存するために使用されます。
PHP スクリプトで $argv を読み取り、それに含まれるパラメーターを処理するコードを記述するのは非常に簡単です。リスト B のスクリプト例を試して、どのように機能するかを確認してください。
リスト B
コードをコピーします
コードは次のとおりです。 print_r($argv);
?>
任意の値を渡してこのスクリプトを実行し、出力を確認します。
シェル> php phptest.php チョコレート 276 "キラータイ、おい!"
配列
( [0] => test.php
[1] => チョコレート
[2] => 276
[3] => キラータイ、おい!
)
出力からわかるように、test.php に渡された値が自動的に表示されます。 $argv に配列要素として格納されます。 $argvis の最初の引数は常に
スクリプト自体の名前であることに注意してください。
より複雑な例 (リスト C) を次に示します。
リスト C
コード
コードをコピーします
コードは次のとおりです: // 必要な引数をすべてチェックします
// 最初の引数は常にスクリプトの名前です。
if ($argc != 4) {
die("使用法: book.php <チェックイン日>
// 最初の引数を削除します
array_shift($argv);
// 残りの引数を取得して使用します
$checkin = $argv[0]; = $ argv[1];
$type = $argv[2];
echo "$checkin でチェックインして、$type の部屋をリクエストしました。";
?>
使用例を次に示します。
shell> 21/05/2005 7 single
2005 年 5 月 21 日にチェックインして、7 泊のシングルルームをリクエストしました。
ここで、スクリプトは最初に $argc をチェックして、引数の数が要件を満たしていることを確認します。次に、$argv から各引数を抽出し、標準出力に出力します。