CIV. Przeciążanie właściwości obiektów i wołania ich metod
Wstęp
Celem tego rozszerzenia jest umożliwienie przeciążania dostępu do właściwości obiektów oraz wołania metod. Rozszerzenie to definiuje tylko jedną funkcję, overload(), która przyjmuje jako parametr nazwę klasy dla której przeciążanie powinno być udostępnione. Klasa ta powinna mieć zdefiniowane odpowiednie metody, jeżeli chce korzystać z tej dodatkowej funkcjonalności: __get(), __set() oraz __call() odpowwiednio dla pobierania/ustawiania wartości właściwości, lub wołania metod. Tym sposobem przeciążanie może być dostępne wybiórczo. Wewnątrz tych funkcji bsługujących przeciążanie, ono samo jest niedostępne by mieć możliwość normalnego dostępu do właściwości obiektu.
Ostrzeżenie |
Ten moduł jest w stadium EKSPERYMENTALNYM. Oznacza to, że zachowanie tych funkcji, ich nazwy, w zasadzie wszystko udokumentowane tutaj może zostać zmienione w przyszłych wersjach PHP bez wcześniejszego uprzedzenia. Używaj tego modułu na własne ryzyko. |
Ostrzeżenie |
To rozszerzenie nie jest częścią PHP 5. PHP 5 obsługuje __get(), __set() i __call() natywnie. Zobacz stronę Przeciążanie w PHP 5 aby uzyskać więcej informacji. |
Wymagania
Do zbudowania tego rozszerzenia nie są wymagane żadne zewnętrzne biblioteki.
Instalacja
Chcąc używać tych funkcji musisz skompilować PHP z opcją --enable-overload
.
Od PHP 4.3.0 to rozszerzenie jest włączone domyślnie. Możesz wyłączyć
wsparcie dla przeciążania opcją --disable--overload
.
PHP w wersji dla systemów Windows posiada wbudowaną obsługę dla tego rozszerzenia. Nie trzeba ładować żadnych dodatkowych rozszerzeń aby korzystać z tych funkcji.
Notatka: Wsparcie dla przeciążania jest wbudowane od wersji PHP 4.3.0.
Konfiguracja uruchomieniowa
To rozszerzenie nie definiuje posiada żadnych dyrektyw konfiguracyjnych w pliku php.ini.
Typy zasobów
To rozszerzenie nie posiada żadnych rodzajów zasobów.
Stałe predefiniowane
To rozszerzenie nie posiada żadnych stałych.
Przykłady
Kilka prostych przykładów demonstrujących użycie funkcji overload():
- Spis treści
- overload -- Umożliwienie przeciążania właściwości i wołania metod dla klasy