Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%)
|
Chciałem zrobić uniwersalną implementację dla metody magicznej __get($var). W tym celu, w klasie abstractObject napisałem coś takiego:
Natomiast w klasie dziedziczącej coś takiego:
Powiem szczerze, że jestem zszokowany koniecznością napisania czegoś takiego. Myślałem, że dziedzicząc __geta, klasa dziedzicząca pobierze normalnie swoje pole. Natomiast gdy mój kod wyglądał w ten sposób, że w klasie dziedziczącej nie było nic dotyczącego tej metody, a w abstractObject nie było komentarza przy returnie, wywalało mi komunikat: Cytat Notice: Undefined property: tag::$(tu nazwa zmiennej do której się odwoływałem) in... Natomiast jeśli chodzi o dziedziczenie magicznej metody __set(), jest jeszcze gorzej. Kod wygląda tak: (klasa abstractObject)
Jedno pytanie: dlaczego tak się dzieje? :-( Ten post edytował Asmox 11.11.2011, 15:18:28 |
|
|
|
Asmox Dziedziczenie magicznych metod 11.11.2011, 15:11:15
mortus Dzieje się tak, ponieważ każda klasa ma domyślne m... 11.11.2011, 15:41:52
Asmox Czyli co mam zrobić? Pisać takie samy metody w każ... 11.11.2011, 15:47:31
mortus Musisz pamiętać, że metody __set() i __get() służą... 11.11.2011, 16:33:24 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 22:35 |