File: Zend_Server_Reflection.xml

package info (click to toggle)
zendframework 1.12.9%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 133,584 kB
  • sloc: xml: 1,311,829; php: 570,173; sh: 170; makefile: 125; sql: 121
file content (66 lines) | stat: -rw-r--r-- 2,330 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<sect1 id="zend.server.reflection">
    <title>Zend_Server_Reflection</title>

    <sect2 id="zend.server.reflection.introduction">
        <title>Wprowadzenie</title>

        <para>
            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.
        </para>
        <para>
            Typowo ta funkcjonalność będzie używana przez programistów klas
            serwerów dla frameworka.
        </para>
    </sect2>
    <sect2 id="zend.server.reflection.usage">
        <title>Użycie</title>

        <para>
            Podstawowe użycie jest proste:
        </para>

        <programlisting role="php"><![CDATA[
$class    = Zend_Server_Reflection::reflectClass('My_Class');
$function = Zend_Server_Reflection::reflectFunction('my_function');

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

// Przechodzimy pętlą przez wszystkie prototypy funkcji
foreach ($prototypes as $prototype) {

    // Pobierz typ zwracanej wartości prototypu
    echo "Zwracany typ: ", $prototype->getReturnType(), "\n";

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

    echo "Parametry: \n";
    foreach ($parameters as $parameter) {
        // Pobierz typ prototypu
        echo "    ", $parameter->getType(), "\n";
    }
}

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

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