入門 - オプション -- オプションの定義と処理
オプションの定義
Getopt() は、
2つの形式のオプションをサポートしています。すなわち、
短いオプション(short options)と
長いオプション(long options)です。
例 38-1長短オプションをつけてスクリプトをコールする
# 短いオプションを使う。
myphpscript -q -l en -o
# 替わって長いオプションを使う。
myphpscript --quite --lang=en --option
# 両方を混ぜる。
myphpscript -q --lang=en -o |
サポートするオプションを定義する必要があります。
getopt() の第2引数には、
すべてのサポートする文字を渡します。
上記の例では、最小限、以下のとおりとなります。
文字の順番は重要ではありません。パラメータを伴うオプションを
定義する必要がある場合もあります。あるオプションがパラメータを
伴うことを表すには、コロン (:) を付加します。
パラメータの付加が任意のときは、コロンを2つにします。
例を示します。
$shortoptions = "ql:o::"; |
この場合、以下のようにスクリプトをコールできます。
myphpscript
myphpscript -q
myphpscript -q -l en
myphpscript -o text
myphpscript -o |
一方、
とは、できません。 -lオプションは、
与えられた場合には必ず
長いオプションも同様に動作しますが、配列で定義します。
$longoptions = array("quite", "lang", "option"); |
パラメータ付加を定義するには、短いオプションと同じように
'=' および '=='
を使います。
$longoptions = array("quite", "lang=", "option=="); |
|
返されるオプションの配列
返り値は、
パースされたオプションと、非オプションのコマンドライン引数の
2つの要素からなる配列となります。
パースされたオプション内の各項目もまた、2つの要素からなります。
1つ目はオプションを示します。2つ目は付加されたパラメータを示しますが、
付加無しの場合は、NULL となります。