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. |
Do zbudowania tego rozszerzenia nie są wymagane żadne zewnętrzne biblioteki.
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.
To rozszerzenie nie definiuje posiada żadnych dyrektyw konfiguracyjnych w pliku php.ini.
To rozszerzenie nie posiada żadnych rodzajów zasobów.
To rozszerzenie nie posiada żadnych stałych.
Kilka prostych przykładów demonstrujących użycie funkcji overload():
Poprzedni | Spis treści | Następny |
deaggregate | Początek rozdziału | overload |