Przeciążanie metod, E_Strict |
Przeciążanie metod, E_Strict |
20.03.2013, 15:09:42
Post
#1
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 7.09.2008 Ostrzeżenie: (0%) |
CourseCollection
Przeciążanie metody addItem powoduje wyrzucenie : Strict standards: Declaration of CourseCollection::addItem() should be compatible with Collection::addItem($obj, $key = NULL) in D:\netpub\r5\CourseCollection.php on line 7 Pytanie teraz w php nie ma przeciążania i co dalej jak to rozwiazac żeby do Collection był przekazany obiekt typu Course skoro przeciażanie sypie E_Strict'ami? |
|
|
20.03.2013, 15:24:26
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 366 Pomógł: 1115 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
-------------------- |
|
|
20.03.2013, 15:54:48
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) |
No cóż, trzeba samemu obsłużyć przypadek, gdy podana zmienna nie jest obiektem typu Course:
Zadziała prawie tak samo, a nawet lepiej, bo w tym przypadku to my decydujemy co ma się stać, jeśli przekazany obiekt nie będzie obiektem określonej klasy (w tym przypadku rzucam wyjątkiem SomeException). Wymuszanie typu ma to do siebie, że podanie nieprawidłowego parametru spowoduje fatal error i przerwanie skryptu. Swoją drogą - skąd ta klasa Collection? Ten post edytował mortus 20.03.2013, 15:57:22 |
|
|
20.03.2013, 15:59:39
Post
#4
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 7.09.2008 Ostrzeżenie: (0%) |
Zaawansowane programowanie PHP http://helion.pl/ksiazki/php5-zaawansowane...cove,php5zp.htm
|
|
|
Wersja Lo-Fi | Aktualny czas: 24.05.2024 - 16:45 |