システム情報の取得
ここで、いくつか標準で添付されているプロバイダのうち、システムの情報を表示する基本的なものを紹介します。なお、コマンドラインインターフェイスの構文は次のとおりです。
zf.bat (アクション名)(プロバイダ名) (アクションへの引数...)
なお、UNIX(Linux)を利用する場合には「zf.bat」ではなく「zf.sh」を呼び出します。以下の記述でも適宜置き換えてください。
(1)Versionプロバイダ
利用しているZend Frameworkのバージョンを表示します。
C:\>\ZendFramework-1.9.1\bin\zf.bat show version
▼
Zend Framework Version: 1.9.1
なお、Versionプロバイダにはサブ機能(Speciality)が定義されています。このサブ機能は、プロバイダの後に「.」(ピリオド)をつけて指定することで利用できます。Versionプロバイダのサブ機能は、バージョンの一部だけを表示する機能を持っています。
C:\>\ZendFramework-1.9.1\bin\zf.bat show version.major-part
▼
ZF Major Version: 1
Versionプロバイダにはこの「major-part」サブ機能以外にも「minor-part」サブ機能、「mini-part」サブ機能があります。
(2)Phpinfoプロバイダ
単純にphpinfo()関数を呼び出した結果を表示するだけです(「php -i」と同じです)。
C:\>\ZendFramework-1.9.1\bin\zf.bat show phpinfo
▼
phpinfo() ...
(3)Manifestプロバイダ
登録されているマニフェストの一覧を表示します。このマニフェストは、プロバイダやクライアントに関するさまざまな情報(メタ情報)が登録されています。例えば利用可能なプロバイダやアクションの名前に関するマニフェストもあれば、そのアクションが取る引数に関するマニフェストもあります。
Manifestプロバイダの機能は単純で、「show」アクションを呼び出すとマニフェストの一覧を出力します。この出力を見ることで、例えばどのようなプロバイダを利用できるかについて調べたりすることができます。
C:\>\ZendFramework-1.9.1\bin\zf.bat show manifest
▼
Tool
actionName
type=Tool, clientName=console, actionName=Create : create
type=Tool, clientName=console, actionName=Delete : delete
type=Tool, clientName=console, actionName=Show : show
...
この出力で表示される情報はマニフェストの種類ごとに区切られています(この区切りのことを「セクション」と呼ぶことにします)。各セクション内では、1行ごとに1つの機能についての説明があります。例えば「Create」アクションについての説明は次のような行になっています。
type=Tool, clientName=console, actionName=Create : create
このように、1つの行はコロン(:)で左右に区切れています。このうち、左側の部分(「type=Tool, clientName=console, actionName=Create」)には、この行がどのような機能に関しての説明であるのかを示しています。また、この行の右側の部分(「create」)には、この行に登録されている値を示しています。
まず左側の部分ですが、ここでは3つの条件が書かれています。それぞれ「type=Tool」「clientName=console」「actionName=Create」です。「type=Tool」は、この機能の説明が記述されているマニフェストのクラスを示しています(標準では、この「Tool」以外のクラスのものはありません)。次の「clientName=console」は、この機能が対象とするクライアントが「console」であることを示しています。そして、「actionName=Create」は、この行が説明している機能がアクションの名前で、そのアクションの名前が「Create」であることを示しています。
また右側の値「create」ですが、この機能を利用する場合にどのようにコマンドラインで記述すれば良いかが記述されています(標準で出力されるマニフェストについては、すべてコマンドラインでの記述する際の方法が登録されています)。
標準状態で出力されるセクションは次のとおりです。
| セクションの名前 | 重要な前提 | 説明 |
| actionName | actionName(アクションの名前) | 登録されているアクション一覧 |
| providerName | providerName(プロバイダの名前) | 登録されているプロバイダの一覧 |
| specialtyName | providerName(プロバイダの名前)、specialtyName(サブ機能の名前) | プロバイダにサブ機能がある場合、その情報 |
| actionableMethodLongParams | actionName(アクションの名前)、providerName(プロバイダの名前)、specialtyName(サブ機能の名前) | アクションの引数(長い形) |
| actionableMethodShortParams | actionName(アクションの名前)、providerName(プロバイダの名前)、specialtyName(サブ機能の名前) | アクションの引数(短い形) |
例えばPhpinfoプロバイダのShowアクションの引数についての情報を調べたい場合には「actionableMethodLongParams」セクションの次の行が参考になります。
type=Tool, clientName=console, actionName=Show, providerName=Phpinfo, specialtyName=_Global : (empty array)
この行、「Phpinfo」プロバイダの「Show」アクションのサブ機能「_Global」は引数を取らないことが分かります(サブ機能名が「_Global」はサブ機能を利用しない場合)。
