![]() |
![]() |
![]() ![]()
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 Kiedyś też tak myślałem ale doszedłem wtedy do wniosku że w takim razie klasa walidacji jest zupełnie niepotrzebna. Dlaczego miała by być niepotrzebna? To w jaki sposób coś ma być sprawdzane/filtrowane powinno zależeć wyłącznie od woli programisty. W dodatku takie, nazwijmy to sobie narzędzie (bo składa się ono docelowo z wielu obiektów) załatwia za Ciebie multum spraw (jak chociażby obsługę błędów, powiadomień, implementacji danych walidatorów itp. itd.) - Ty decydujesz jedynie co ma być czym potraktowane.Dodatkowo jeżeli utworzysz sobie jakiś walidator (powiedzmy: String), który będzie miał kilka opcji: trim (true/false), striphtml (true/false), minlength, maxlength, gdzie dwa pierwsze domyślnie ustawione są na tak (w przykładzie podanym przeze mnie nie ma zaimplementowanej opcji predefiniowanych ustawień dla walidatora), a dwa ostatnie domyślnie są nie podane (są tak jakby wyłączone) już zyskujesz właściwie automatyczne walidację na takich zasadach jakie opisałeś. Więc jaki jest sens takiego dodatkowego komplikowania kodu? Bo jak będę miał dwa pola do wpisania treści, np.: krótka treść newsa, pełna treść newsa to dla pierwszego ustawiam sobie jedynie min/max na 20/200, a dla drugiego striphtml na false (dzięki czemu mogę podpiąć z poziomu panelu administracyjnego wstawić dowolnie wyglądającego newsa) oraz minlength na np. 50. Zyskujesz wiele na elastyczności. No i teraz muszę jeszcze odpowiedzieć na post Marcio... (IMG:style_emoticons/default/winksmiley.jpg) Cytat Jak pisalem przyklady wymyslilem w momencie. W takim razie zastanów się przed napisaniem tego co Ci przyjdzie na język, bo to co piszesz może być bez sensu lub może źle oddawać to co chciałeś przekazać. Taka luźna rada. ;]Cytat Przeczytaj moj post kilka razy to zrozumiesz. Ehh... 02:00 to już trochę późno... zrozumiałem, że każda z News_XXX dziedziczy po jakimś News. Tak więc moje zarzuty względem tego fragmentu cofam.Cytat Jakis praktyczny przyklad masz komponent News i pokolei klase News_Model,News_View i News_Controller. Cytat Prosze cie bardzo, nie badz smieszny. Cóż... proszę rozwiń dlaczego uznałeś, że byłem w tamtym momencie śmieszy. Dlaczego sugerowanie by nie polecać czegoś co wymaga wiedzy dot. OOP oraz relatywnie rozbudowanej implementacji osobie, która jak widać jest na etapie poznawania elementów/paradygmatów obiektówki jest śmieszne.Cytat Ogolnie napisalem tylko dla przykladu ze model komponentu news powinien dziedziczyc po klasie mysqlDb u mnie dziedzizy po klasie Model ktora moze obslugiwac jaka kolwiek baze a jak bedzie potrzeba to nawet rss'a innego serwisu. OK, fajnie że u Ciebie nie jest to zrypane (jak rozumiem klasa Model jest już na szczycie hierarchii dziedziczenia), ale w przykładzie, który podałeś było... i to bardzo - więc nie dziw się mojemu komentarzowi.Cytat http://docs.kohanaphp.com/general/models jak widac nie jest to bledne podejscie inne fw zreszta tez tak robia :] To że ktoś "wielki" tak robi nie oznacza, że coś jest dobrze zrobione. O ile mi dobrze wiadomo na chwilę obecną żadnej z popularnych PHP-owych FW nie obsługuje poprawnie MVC (przez co owe FW wiele tracą) - doszły mnie jedynie słuchy, że ponoć YII coś w tym aspekcie zmienia, ale jeszcze nie miałem osobiście możliwości sprawdzenia tego, więc tutaj się wypowiadać nie chcę. Cytat Pamietaj ze nawet jesli odp na moj post bo cos ci nie pasowalo nie znaczy ze masz racje Nie próbuj zrobić ze mnie hipokryty. To co napisałem tyczy się każdej wypowiedzi, czy mojej, czy Twojej - to była ogólna wskazówka dla każdego czytającego dowolną informację.Cytat Super... tutaj się zgadzam... ale w Twoim poprzednim poście było coś zupełnie innego...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 16:23 |