入門 - オプション

入門 - オプション – オプションの定義と処理

オプションの定義

Getopt() は、 2つの形式のオプションをサポートしています。すなわち、 短いオプション(short options)と 長いオプション(long options)です。

長短オプションをつけてスクリプトをコールする

# 短いオプションを使う。
myphpscript -q -l en -o
# 替わって長いオプションを使う。
myphpscript --quite --lang=en --option
# 両方を混ぜる。
myphpscript -q --lang=en -o

サポートするオプションを定義する必要があります。 getopt() の第2引数には、 すべてのサポートする文字を渡します。 上記の例では、最小限、以下のとおりとなります。

<?php
$shortoptions 
"qlo";
?>

文字の順番は重要ではありません。パラメータを伴うオプションを 定義する必要がある場合もあります。あるオプションがパラメータを 伴うことを表すには、コロン (:) を付加します。 パラメータの付加が任意のときは、コロンを2つにします。 例を示します。

<?php
$shortoptions 
"ql:o::";
?>

この場合、以下のようにスクリプトをコールできます。

myphpscript myphpscript -q myphpscript -q -l en myphpscript -o text myphpscript -o

一方、

myphpscript -l

とは、できません。-lオプションは、 与えられた場合には必ず

長いオプションも同様に動作しますが、配列で定義します。

<?php
$longoptions 
= array("quite""lang""option");
?>

パラメータ付加を定義するには、短いオプションと同じように '=' および '==' を使います。

<?php
$longoptions 
= array("quite""lang=""option==");
?>

返されるオプションの配列

返り値は、 パースされたオプションと、非オプションのコマンドライン引数の 2つの要素からなる配列となります。 パースされたオプション内の各項目もまた、2つの要素からなります。 1つ目はオプションを示します。2つ目は付加されたパラメータを示しますが、 付加無しの場合は、NULL となります。