25.2. Zend_Server_Reflection

25.2.1. Введение

Zend_Server_Reflection предоставляет стандарный механизм для выполнения интроспекции функций и классов для использования с серверными классами. Он основан на Reflection API в PHP 5 и расширяет его для предоставления методов получения типов и описаний параметров и возвращаемых значений, полного списка прототипов функций и методов (т.е. комбинации всех возможных валидных вызовов), описаний функций/методов.

Обычно этот функционал будет использоваться только разработчиками серверных классов для данного фреймворка.

25.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, reflectClass возвращает объект Zend_Server_Reflection_Class. Обратитесь к документации API чтобы узнать, какие методы доступны в этих объектах.