|
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. |
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():
Ostrzeżenie |
Ponieważ jest to rozszerzenie eksperymentalne, nie wszystko działa. Brakuje aktualnie wsparcia dla __call(), można przeciążać tylko operacje pobierania i ustawiania właściwości obiektu. Nie można także wołać funkcji obsługi przeciążania jak normalnych metod istniejących w klasie, a __set() działa tylko do jednego poziomu dostępu do właściwości. |
Poprzedni | Spis treści | Następny |
output_reset_rewrite_vars | Początek rozdziału | overload |
Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:57