Zend_Server_Reflection
fornece um mecanismo padrão para executar
introspecção de função e classe para uso com as classes de servidor. É baseado na
API Reflection do PHP 5, acrescentado com métodos
para recuperar parâmetros e retornar tipos de valor e descrições, uma lista completa
dos protótipos de funções e métodos (ex.: todas as possíveis combinações de chamada
válidas), e as descrições de funções ou métodos.
Normalmente, esta funcionalidade só será usada por desenvolvedores de classes de servidor para o framework.
O uso básico é simples:
$class = Zend_Server_Reflection::reflectClass('My_Class'); $function = Zend_Server_Reflection::reflectFunction('my_function'); // Obter protótipos $prototypes = $reflection->getPrototypes(); // Repetir o laço através de cada protótipo da função foreach ($prototypes as $prototype) { // Obter o tipo de retorno do protótipo echo "Tipo de retorno: ", $prototype->getReturnType(), "\n"; // Get prototype parameters $parameters = $prototype->getParameters(); echo "Parâmetros: \n"; foreach ($parameters as $parameter) { // Obter tipo do parâmetro echo " ", $parameter->getType(), "\n"; } } // Obter namespace para uma classe, função ou método. // Namespaces podem ser definidos em tempo de instanciação // (segundo argumento), ou usando setNamespace() $reflection->getNamespace();
reflectFunction()
retorna um objeto
Zend_Server_Reflection_Function
;
reflectClass()
retorna um objeto
Zend_Server_Reflection_Class
. Consulte a documentação da
API para ver quais métodos estão disponíveis para cada um.