23.2. Zend_Server_Reflection
Пред. | Глава 23. Zend_Server | След.

## 23.2. Zend_Server_Reflection

### 23.2.1. Введение

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

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

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

Пред. | Уровень выше | След.
Глава 23. Zend_Server | Начало | Глава 24. Zend_Service