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.