![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 24.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Najpierw podam kod:
Klasa String:
Klasa Coment:
Odwołanie:
Zastosowałem tutaj IMHO brzydkie rozwiązanie z użyciem metody __call. Innym rozwiązaniem jest zastosowanie public $title. Wówczas odwoływalibyśmy się w ten sposób:
Czyli bez użycia title(). Jednak chyba nie jest to zbyt dobry pomysł ponieważ zmienna będzie publicznie dostępna, a takto mamy tylko dostęp do jej metod (title->set, title->length, etc.), więc nie można jej np. usunąć z zewnątrz. Żeby nie zakładać nowego tematu napiszę, że brakuje mi bardzo przeładowywania metod w taki oto sposób:
Jestem ciekaw jak sobie radzicie z tym problemem. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 24.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(dasko @ 2005-07-02 20:14:49) Cytat Jednak jeśli użyję __get to i tak nie sprawdzi się to, ponieważ zmienna $title istnieje i nie dojdzie do wykonania metody __get. Czyżby ? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Sprawdzałeś? Przeczytaj to -> http://www.php.net/manual/en/language.oop5...ading.php#53539 ( notka by Dasko (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) Czytałem czytałem i to wielokrotnie ;-) Dla leniwych:
Cytat The feature was tested on php 5.1-dev. Ja mam php Version 5.0.3 i wyskakuje mi Cytat Cannot access private property MyClass::$foo
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 07:57 |