Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%)
|
W książce natrafiłem na przykład, który wydaje mi się błędny. Wiem, że książki helionu mają literówki i różnego rodzaju błędy (na stronie helionu w erracie nie ma poprawki do tego), dlatego proszę o sprawdzenie poniższego kodu.
I teraz ten kod gdzie podejrzewam, że jest błąd..
Wydaje mi się, że błąd jest w metodzie validate(). Autor odwołuje suię w ten sposób
a powinno być chyba
jeśli nie to dlaczego właśnie tak? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
Nie podoba mi się ten kod. Po pierwsze właściwość nie jest walidatorem, co najwyżej może być walidowana (czyli raczej Validable). Poza tym nie rozumiem, po co deklarować metodę validate, w klasie PropertyObject... Jest to typowy przykład zastosowania metody abstrakcyjnej, a nie bezsensownego wklepywania pustej...
Tak poza tym, to dlaczego my mamy to sprawdzać? Więcej się nauczysz, jak sam będziesz chciał to sprawdzić... Odpal skrypt, zdebuguj go xdebugiem czy czymś innym... |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%)
|
Nie podoba mi się ten kod. Po pierwsze właściwość nie jest walidatorem, co najwyżej może być walidowana (czyli raczej Validable). Poza tym nie rozumiem, po co deklarować metodę validate, w klasie PropertyObject... Jest to typowy przykład zastosowania metody abstrakcyjnej, a nie bezsensownego wklepywania pustej... Coraz częściej dochodze do wniosku, że ta książka jest bardzo zamotana. Chyba tylko po to, żeby więcej stron było. Zauważ, że masz funkcje __get() oraz __set() - pierwsza wykorzystywana jest wtedy kiedy robisz Ok. Powoli łapie. Ale nie mogę zrozumieć tego kawałka kodu (z metody __get() ):
Po co sprawdza się czy metoda istnieje. Nie łapie też argumentów tej metody oraz call_user_func. Czytałem o tych funkjach ale nie mogę załapać. Możecie mi to wytłumaczyć? |
|
|
|
J4r0d Prośba o sprawdzenie klasy 16.08.2006, 09:37:12
envp Zauważ, że masz funkcje __get() oraz __set() - pie... 16.08.2006, 11:26:57
Ludvik Przepisałeś błędnie niektóre wywołania metod. Zami... 17.08.2006, 09:58:06 
J4r0d Cytat(Ludvik @ 17.08.2006, 08:58 ) Przepi... 17.08.2006, 10:07:49
Ludvik Powinno być
[PHP] pobierz, plaintext <?phpmetho... 17.08.2006, 10:27:55 
J4r0d Cytat(Ludvik @ 17.08.2006, 09:27 ) Powinn... 17.08.2006, 19:36:35
Ludvik $this jest referencją do obiektu, którego met... 17.08.2006, 20:50:09
J4r0d Analizuje ten przykład jeszcze raz i mam wrażenie,... 21.08.2006, 10:54:55
Ludvik Tak też może być. Autor klasy zakładał, że nawet w... 21.08.2006, 11:15:47 
J4r0d Cytat(Ludvik @ 21.08.2006, 10:15 ) Tak te... 21.08.2006, 16:49:32
Ludvik CytatPo co? Jak istnieje metoda to ją wykonujesz a... 21.08.2006, 17:57:31 
J4r0d Cytat(Ludvik @ 21.08.2006, 16:57 ) Nie od... 21.08.2006, 18:08:50
Ludvik Mylisz się. Przeanalizuj dobrze kod. Żeby wywołać ... 21.08.2006, 19:12:02 
J4r0d Cytat(Ludvik @ 21.08.2006, 18:12 ) Czyli ... 21.08.2006, 19:38:06
Ludvik CytatOk - zgadza się. Ale skąd wiesz, że metoda do... 21.08.2006, 19:46:59
J4r0d Cytat(Ludvik @ 21.08.2006, 18:46 ) (..)a ... 21.08.2006, 21:11:39 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 18:20 |