1 <sect1 id="zend.server.reflection">
2 <title>Zend_Server_Reflection</title>
4 <sect2 id="zend.server.reflection.introduction">
5 <title>Wprowadzenie</title>
8 Klasa Zend_Server_Reflection zapewnia standardowy mechanizm dla
9 przeprowadzania introspekcji funkcji i klas dla potrzeb klas
10 serwerów. Jest oparta na API Reflection PHP5 i rozszerza je aby
11 zapewnić metody pobierania typów parametrów jakie przyjmuje funkcja,
12 typów zwracanych wartości oraz opisów, pełnej listy prototypów
13 funkcji i metod (np. wszystkie możliwe poprawne kombinacje
14 wywołania), oraz opisów funkcji/metod.
17 Typowo ta funkcjonalność będzie używana przez programistów klas
18 serwerów dla frameworka.
21 <sect2 id="zend.server.reflection.usage">
25 Podstawowe użycie jest proste:
28 <programlisting role="php"><![CDATA[
29 $class = Zend_Server_Reflection::reflectClass('My_Class');
30 $function = Zend_Server_Reflection::reflectFunction('my_function');
33 $prototypes = $reflection->getPrototypes();
35 // Przechodzimy pętlą przez wszystkie prototypy funkcji
36 foreach ($prototypes as $prototype) {
38 // Pobierz typ zwracanej wartości prototypu
39 echo "Zwracany typ: ", $prototype->getReturnType(), "\n";
41 // Pobierz parametry prototypu
42 $parameters = $prototype->getParameters();
45 foreach ($parameters as $parameter) {
46 // Pobierz typ prototypu
47 echo " ", $parameter->getType(), "\n";
51 // Pobierz przestrzeń nazw dla klasy, funkcji lub metody
52 // Przestrzenie nazw mogą być ustawione podczas tworzenia instancji
53 // lub przez użycie metody setNamespace()
54 $reflection->getNamespace();
59 <code>reflectFunction()</code> zwraca obiekt
60 <code>Zend_Server_Reflection_Function</code>;
61 <code>reflectClass</code> zwraca obiekt
62 <code>Zend_Server_Reflection_Class</code>. Proszę sprawdź
63 dokumentację API aby dowiedzieć się jakie metody ma każdy z nich.