23.2. Zend_Server_Reflection

23.2.1. 導入

Zend_Server_Reflection は、サーバクラス群で 関数やクラスの内容を知るための標準的な仕組みを提供します。 PHP 5 のリフレクション API をもとにして拡張したものです。 パラメータや返り値の型と説明の取得、関数やメソッドのプロトタイプの一覧 (つまり、すべての呼び出し可能な方法) の取得、関数/メソッド の説明の取得なども可能です。

この機能は、フレームワーク用のサーバクラス群の開発者のみが使用します。

23.2.2. 使用法

基本的な使用法は簡単です。

<?php
require_once 'Zend/Server/Reflection.php';
$class    = Zend_Server_Reflection::reflectClass('My_Class');
$function = Zend_Server_Reflection::reflectFunction('my_function');

// プロトタイプを取得します
$prototypes = $reflection->getPrototypes();

// 返り値の型を取得します
$prototype->getReturnType();

// パラメータを取得します
$prototype->getParameters();

// パラメータの型を取得します
$parameter->getType();

// クラス、関数あるいはメソッドの名前空間を取得します。
// 名前空間は、インスタンス作成時 (二番目の引数) あるいは
// setNamespace() で設定します。
$reflection->getNamespace();

reflectFunction()Zend_Server_Reflection_Function オブジェクトを返します。 reflectClassZend_Server_Reflection_Class オブジェクトを返します。 これらのオブジェクトで使用できるメソッドについては API ドキュメントを参照ください。