wtorek,
PHP: Koło ratunkowe
Czasami zdarza się nam czegoś zapomnieć. To nieoczekiwane zjawisko może nastąpić także na praktycznej części egzaminu potwierdzającego kwalifikacje zawodowe. Niestety zalecenia egzaminacyjne nie przewidują udostępnienia dokumentacji języka PHP na stanowiskach zdających. Pewną pomoc można uzyskać dzięki wbudowanym w ten język funkcjom informacyjnym. Należy podkreślić, że choć pozwolą one przypomnieć sobie nazwę (funkcji, klasy itd.), to nie dostarczają szczegółowych informacji (np. o wymaganych argumentach), a na inżynierię wsteczną w warunkach egzaminacyjnych nie starczy czasu. Tym bardziej na naukę języka.
Wyświetlanie tablic przy pomocy funkcji print_r() dla czytelności informacji warto poprzedzić znacznikiem <pre>.
Funkcja get_defined_functions() zwraca tablicę wszystkich dostępnych funkcji. Standardowo ich liczba wyniesie ponad tysiąc, dlatego szukanie na oślep nie ma sensu, trzeba choć trochę kojarzyć nazwę. Domyślnie tablica jest posortowana tematycznie, jeśli zajdzie potrzeba porządek można zmienić na alfabetyczny (zakomentowany wiersz drugi). Na przykład wiedząc, że wiele funkcji operujących na łańcuchach znaków (string) ma przedrostek „str" porządek alfabetyczny może przyśpieszyć wyszukiwanie. Łatwo można zauważyć, że dzięki tej funkcji można wyszukać nazwy pozostałych omawianych w tym artykule (najczęściej trzeba szukać przedrostka „get”). Niestety nazewnictwo w języku PHP jest pełne niekonsekwencji.
$f = get_defined_functions();
//sort($f['internal']);
print_r($f);
Funkcja get_declared_classes() zwróci ponad setkę nazw dostępnych fabrycznie klas.
print_r(get_declared_classes());
Aby zobaczyć jakie metody są dostępne w danej klasie, można posłużyć się funkcją get_class_methods(). W przykładzie jako argument podano klasę mysqli z rozszerzenia MySQLi.
print_r(get_class_methods('mysqli'));
Funkcja get_loaded_extensions() zwraca nazwy załadowanych rozszerzeń.
print_r(get_loaded_extensions());
Jeśli znana jest nazwa rozszerzenia, można pobrać nazwy dostępnych w nim funkcji. Umożliwi to funkcja get_extension_funcs(). W przykładzie pobrano informacje związane z rozszerzeniem xml.
print_r(get_extension_funcs("xml"));
Funkcja get_defined_constants() zwraca nazwy i wartości wszystkich stałych.
print_r(get_defined_constants(true));
Informacje na temat środowiska uruchomieniowego wyświetla funkcja phpinfo().
phpinfo();