Coding Samples, Tutorials, Code Snippets, Articles, How-To`s - From Beginners to Expert. Stay tuned.
Share your knowledge. Regardless what experience you have made with the Zend Framework - Let all benefit.

Search Manual:

Please Sign in or Register

Available Languages

 


Manual for Zend Framework 1.0.3

第6章 Zend_Console_Getopt

6.1. Getopt について

Zend_Console_Getopt クラスは、 コマンドラインアプリケーションでのオプションや引数の処理を助けるものです。

ユーザは、アプリケーションを実行する際にコマンドライン引数を指定することができます。 これらの引数はアプリケーションにとって何らかの意味を持つものであり、 何らかの振る舞いを変更したりリソースを選択したり、パラメータを設定したりします。 多くのオプションには、慣例となっている意味があります。 たとえば "--verbose" は、多くのアプリケーションで 出力内容をさらに追加します。 その他のオプションには、アプリケーションによって意味が異なるものもあります。 たとえば "-c" は、 grepls および tar でそれぞれ違う機能を表します。

以下で用語の定義をします。これらの用語はいろいろな意味で用いられますが、 このドキュメントでは、ここで定義した意味で使用します。

  • "引数 (argument)": コマンドラインで、コマンド名の後にあらわれる文字列。 引数には、オプションが付くこともありますし 付かないこともあります。引数により、 コマンドの操作対象となるリソースを指定します。

  • "オプション (option)": 引数のうち、そのコマンドのデフォルトの振る舞いを 何らかの方法で変更するもの。

  • "フラグ (flag)": オプションの最初の部分で、 そのオプションの目的を表すもの。フラグの前には、 慣習的にひとつあるいはふたつのダッシュ ("-" あるいは "--") をつけることになっています。 ひとつのダッシュをつけるのは、 一文字のフラグかあるいは一文字フラグのクラスタの場合です。 ふたつのダッシュをつけるのは複数文字からなるフラグの場合です。 長い形式のフラグはクラスタ化できません。

  • "パラメータ (parameter)": オプションの二番目の部分で、 フラグとともに使用するデータの値を指定します。 これは、オプションがそれを受け付ける場合に限ります。 たとえば、多くのコマンドは "--verbose" オプションを受け付けますが、 このオプションには一般的にパラメータを指定しません。 しかし、"--user" のようなオプションは、 たいていの場合はその後にパラメータが必要です。

    パラメータはフラグ引数の後で別の引数として指定することもできますし、 あるいは同一の引数文字列の一部として指定することもできます。 この場合は、フラグとパラメータを等号 ("=") で連結します。 後者の形式は、長いフラグでのみサポートしています。 たとえば、 -u username--user username あるいは --user=username といった形式を Zend_Console_Getopt でサポートしています。

  • "クラスタ (cluster)": 複数の一文字のフラグを組み合わせ、 ひとつのダッシュの後に文字列としてつなげたもの。 たとえば "ls -1str" は四つのフラグのクラスタを使用しています。 このコマンドは "ls -1 -s -t -r" と同等です。クラスタ化できるのは一文字のフラグだけで、 長い形式のフラグはクラスタ化できません。

たとえば "mysql --user=root mydatabase" において、 "mysql" は コマンド、 "--user=root" は オプション、 "--user" は フラグ、 "root" はオプションに対する パラメータ となります。また "mydatabase" は、 この定義によると引数ですがオプションではありません。

Zend_Console_Getopt が提供するインターフェイスには、 「アプリケーションで使用可能なフラグの宣言」 「無効なフラグが指定された場合のエラー表示および使用法の表示」 「ユーザが指定したフラグのアプリケーションへの通知」 などがあります。

[注意] Getopt はアプリケーションフレームワークではありません

Zend_Console_Getopt はdoes フラグやパラメータの意味を解釈するわけ ではなく、 またアプリケーションのワークフローを実装したりコードを起動したりするものでもありません。 それらの処理については、アプリケーション内で自分で実装しなければなりません。 Zend_Console_Getopt クラスを使用すると、 コマンドラインをパースし、ユーザが指定したオプションを オブジェクト指向のメソッドで取得できるようになります。 しかし、その情報をもとにアプリケーションで何らかの処理を行うのは別の PHP クラスの仕事です。

これ以降の節で、Zend_Console_Getopt の使用法を説明します。

Welcome!

Welcome to ZFResource - The Resource for the Zend Framework.
As you see, the website is in still in progress. Many features ( like Code Directory, Code Samples, User written Tutorials, Examples and News,...) will be online in near future.
At the moment, you can search and browse the manual in your language of choice. Don't forget to come back later to benefit from the new features.


Help Wanted:

We are still searching for people want to help building this site. If you want to see this website in your language or you have any suggestions for this site please send us an email