25.2. Zend_Server_Reflection

25.2.1. Wprowadzenie

Klasa Zend_Server_Reflection zapewnia standardowy mechanizm dla przeprowadzania introspekcji funkcji i klas dla potrzeb klas serwerów. Jest oparta na API Reflection PHP5 i rozszerza je aby zapewnić metody pobierania typów parametrów jakie przyjmuje funkcja, typów zwracanych wartości oraz opisów, pełnej listy prototypów funkcji i metod (np. wszystkie możliwe poprawne kombinacje wywołania), oraz opisów funkcji/metod.

Typowo ta funkcjonalność będzie używana przez programistów klas serwerów dla frameworka.

25.2.2. Użycie

Podstawowe użycie jest proste:

<?php
require_once 'Zend/Server/Reflection.php';
$class    = Zend_Server_Reflection::reflectClass('My_Class');
$function = Zend_Server_Reflection::reflectFunction('my_function');

// Pobierz prototypy
$prototypes = $reflection->getPrototypes();

// Pobierz typ zwracanej wartości prototypu
$prototype->getReturnType();

// Pobierz parametry prototypu
$prototype->getParameters();

// Pobierz typ prototypu
$parameter->getType();

// Pobierz przestrzeń nazw dla klasy, funkcji lub metody
// Przestrzenie nazw mogą być ustawione podczas tworzenia instancji
// lub przez użycie metody setNamespace()
$reflection->getNamespace();

reflectFunction() zwraca obiekt Zend_Server_Reflection_Function; reflectClass zwraca obiekt Zend_Server_Reflection_Class. Proszę sprawdź dokumentację API aby dowiedzieć się jakie metody ma każdy z nich.