PHP - obiektowe PHP - API Reflection - prosty przykład
| DZIAŁANIE: |
Class [ class Serwis ] {
@@ /homez.106/soundpag/www/kurs_php/kurs/obiektowy_serwis/serwis.inc.php5 2-95
- Constants [0] {
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [4] {
Property [ public $tresc ]
Property [ public $tytul ]
Property [ public $keywords ]
Property [ public $menu ]
}
- Methods [8] {
Method [ public method __set ] {
@@ /homez.106/soundpag/www/kurs_php/kurs/obiektowy_serwis/serwis.inc.php5 14 - 17
- Parameters [2] {
Parameter #0 [ $nazwa ]
Parameter #1 [ $wartosc ]
}
}
Method [ public method pokazTytul ] {
@@ /homez.106/soundpag/www/kurs_php/kurs/obiektowy_serwis/serwis.inc.php5 19 - 22
}
Method [ public method pokazKeywords ] {
@@ /homez.106/soundpag/www/kurs_php/kurs/obiektowy_serwis/serwis.inc.php5 24 - 27
}
Method [ public method pokazCSS ] {
@@ /homez.106/soundpag/www/kurs_php/kurs/obiektowy_serwis/serwis.inc.php5 29 - 48
}
Method [ public method pokazNaglowek ] {
@@ /homez.106/soundpag/www/kurs_php/kurs/obiektowy_serwis/serwis.inc.php5 50 - 59
}
Method [ public method pokazMenu ] {
@@ /homez.106/soundpag/www/kurs_php/kurs/obiektowy_serwis/serwis.inc.php5 61 - 69
- Parameters [1] {
Parameter #0 [ $menu ]
}
}
Method [ public method pokazStopke ] {
@@ /homez.106/soundpag/www/kurs_php/kurs/obiektowy_serwis/serwis.inc.php5 71 - 80
}
Method [ public method piszSerwis ] {
@@ /homez.106/soundpag/www/kurs_php/kurs/obiektowy_serwis/serwis.inc.php5 82 - 94
}
}
}
|
Kod:

Ewentualne Objaśnienia:
Kolejny ciekawy mechanizm PHP 5 to API Reflection. Pozwala on na analizę klas
i obiektów, odczyt ich zawartości czy struktury. Może się to przydać kiedy mamy
do czynienia z klasami nieznanymi, nieudokumentowanymi, kiedy przykładowo
wykorzystuje się interfejsy do szyfrowania skryptów napisanych w PHP .
W tym bardzo prostym przykładowym ( API Reflection jest skomplikowane i ma
spore możliwości ) odczytujemy wszelkie informacje na temat klasy, którą
napisałem w przykładzie obiektowego serwisu WWW.
Jak widać tworzymy obiekt klasy Reflection, która ma swoją metodę specjalną
__toString do wyświetlenia danych ( bo jak widać wywołujemy echo $a ). HTMLowe
znaczniki PRE są tutaj po to aby aby wynik był dobrze widoczny, oddzielane są
wiersze kody - sprawdźcie jak wyglądałoby to bez tych znaczników, co najmniej
nieczytelnie.