Содержание


Отражение


Reflection, Server, ЗФ2, Zend Framework 2, ZF2, ру, ru





Введение

 

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

 

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

 


Использование

$class    = Zend\Server\Reflection::reflectClass('MyClass');
$function = Zend\Server\Reflection::reflectFunction('my_function');
 
// Get prototypes
$prototypes = $function->getPrototypes();
 
// Loop through each prototype for the function
foreach ($prototypes as $prototype) {
 
    // Get prototype return type
    echo "Return type: ", $prototype->getReturnType(), "n";
 
    // Get prototype parameters
    $parameters = $prototype->getParameters();
 
    echo "Parameters: \n";
    foreach ($parameters as $parameter) {
        // Get parameter type
        echo "    ", $parameter->getType(), "n";
    }
}
 
// Get namespace for a class, function, or method.
// Namespaces may be set at instantiation time (second argument), or using
// setNamespace()
$class->getNamespace();

«reflectFunction()» возвращаетобъект Zend\Server\Reflection\Function.

«reflectClass()» возвращаетобъект Zend\Server\Reflection\Class.

 

Более подробно в документации про API.


Автор статьи: DuB