# Zend_Server_Reflection

## Introdução

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.

## Utilização

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.