![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Witam, zaczynam z OOP i napisałem prostą klasę walidującą dla małych formularzy, napiszcie co można poprawić, miałem ją zaopatrzyć w MVC i prezentować błędy widokiem ale to już na kiedy indziej.
Ten post edytował MateuszS 21.04.2010, 17:23:14 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Twój walidator zwraca błędy (do tego poprzez wyjątek który jest zupełnie nie potrzebny w tym miejscu) 1) Wyjątków tam nie użyłem - ale w sumie lepiej by było z nich skorzystać przy obecnej wersji. 2) No tak... nazwy z serii "isXXX" same w sobie sugerują, że metoda będzie zwracać true/false. I tu też mogłoby tak być. Wtedy tylko zmieniło by się na: Kod pisałem z miejsca - nie jest on w żaden dogłęby sposób przemyślany, więc takich kruczków spodziewałbym się więcej. W każdym bądź razie dzięki za zwrócenie uwagi. Cytat Tablice mają to do siebie, że przechowują dane różnych typów w tym wypadku obiekty walidatorów tak jak w kodzie Crozina. Tutaj tak tylko od siebie dodam, że to zdanie tyczy się tablic w PHP. Tablice w swojej znanej z "normalnych" języków formie przechowują dokładnie X elementów danego typu.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 11 Dołączył: 7.04.2003 Ostrzeżenie: (10%) ![]() ![]() |
1) Wyjątków tam nie użyłem - ale w sumie lepiej by było z nich skorzystać przy obecnej wersji. Wyjątki służą do obsługi sytuacji nadzwyczajnych. W systemie walidacji 99% przypadków są zbędne czyli złe. Scenariusz użycia wyjątku w walidatorze: Twój walidator ma za zadnie sprawdzać czy wpisany numer jest jednym z numerów katalogowych produktu a owe produkty (a więc i ich numery) są przechowywane w zewnętrznej bazie danych, do której czasem może nie być dostępu, pomimo że baza naszej aplikacji działa. Obsługę takiej (NADZWYCZAJNEJ, NIETPYOWEJ, NIESTANDARDOWEJ, ŻADKIEJ, SPECJALNEJ) sytuacji załatawia nam wyrzucany wyjątek który przekieruje wykonanie naszego kodu do innego miejsca w programie, i tam to sobie obsłużymy, nie zaśmiecając walidatora kodem związanym z połączeniami z bazą danych czy czymkolwiek... Do tego służy wyjątek. I jeszcze się przyczepię: if (true == $result) { Piszmy: (true === $result) nawet jeśli (true == $result) przechodzi. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 03:53 |