![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Nie wiedziałem czy wrzucać to do oceny, bo w sumie bardziej chodzi o to aby ktoś powierzchownie rzucił okiem, czy ide w dobrym kierunku. To moja pierwsza klasa - bazowa, bo chciałbym na niej m.in oprzec pozostałe klasy. starałem sie uprościć ją do minimum, link do Github'a jak widać dodanie nowej wartości do walidacji odbywa się w ten sposób:
sprawdzenie czy wszystkie pola przeszły poprawną walidacje wywołuje sie poprzez warunek if(!$validation->errors) odwołanie się do tablicy błędu, np : $validation->errors['imie'] <- bledy beda wyswietlane po kolei począwszy od pierwszej zadeklarowanej wartości do sprawdzenia błędów nie ma, wszystko działa, ale jak juz wspomniałem, to moja pierwsza samodzielnie napisana klasa, tak więc chciałbym was prosić o to, abyście mogli podpowiedzieć mi czy robie jakieś błędy lub czego mógłbym jeszcze użyć do niezawodności tej klasy Ten post edytował gitbejbe 30.09.2013, 12:30:18 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 559 Pomógł: 93 Dołączył: 4.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Hmm, ok.
Zastanów się co robisz, Validator (sprawdzanie poprawności wprowadzonych danych) czy też Filter (przefiltrowanie wprowadzonych danych i w miarę możliwości zwrócenie poprawnego formatu). Ponadto, pomysł z dodawaniem metody i jednoczesnym aktualizowaniu tablicy statycznej nie trafiony. Przecież możesz sobie ustalić że metody walidacji to takie które zaczynają się od _valid__nazwa i przy pomocy call i callStatic wybierać odpowiednie metody (ewentualnie method_exists podczas walidacji zbiorowej). Pomyśl jeszcze nad tym, że czasami chcemy sprawdzić poprawność 1 elementu i tworzenie takiej formułki jest zbędne. zamiast ustawiać wartości pól i później ich walidatory ja bym odwrócił proces, najpierw ustawiamy grupę elementów walidacji, i od razu ich walidatory a na koniec wartości tych pól w jakiejś tablicy, i wtedy wywołanie już samej metody która wykonuje proces walidacji. Wtedy zniknie ci problem z AddValues/__construct. ECHO w klasie? A nie ładniej by było, gdyby te błędy były zbierane do obiektu/zmiennej w tej klasie? Wtedy dajesz metodę do pobrania wszystkich komunikatów i wyświetlasz je w odpowiednim formacie, nie narzuconym z góry. To samo z wartościami. Dlaczego postanowiłeś postawić na tablicę z nazwami walidatorów, które umieściłeś w Engine, natomiast sama deklaracja metod jest w klasie dziedziczącej? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 04:05 |