![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 2.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, Uczę się kohany, i proszę was o ocene kodu napisanego właśnie na kohanie. Wszelaka krytyka wskazana
![]() Skrypt służy do logowania, rejestracj, zmiany hasła itp dla małej wyszukiwarki firm, praca robiona na praktyki szkolne. Kontroler:
Model: (wydaje mi się że nie napisałem go poprawnie , i w normalnej aplikacju było by to nie do przyjecia, ale nie mam pomysłu jak to "unormalnić")
Funkcja Helper::filter_post
Ten post edytował bladeer 16.05.2013, 18:09:56 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 16.05.2013 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
Szczerze mówiać wyglada całkiem całkiem ok
![]() ![]() -------------------- Gdy szukasz apartamenty gdańsk dla siebie to po prostu wejdz i zobacz.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Jest bardzo fajnie, ale można się przyczepić:
1. Może warto przypisać Auth::instance() do składowej kontrolera? Wówczas odwoływałbyś się do $this->auth zamiast każdorazowo wzywać instancję klasy. 2. Auth::logged_in() zwraca boola, więc możesz sprawdzać === TRUE zamiast != 0. 3. Po przejściu walidacji operujesz na danych z $this->request->post(). Sugerowałbym na $validation->as_array(). W KO3 nie jest to w sumie konieczne, ale w KO2 już tak (z racji filtrów). Może to moje przyzwyczajenie z KO2, ale wolę działać na danych, które faktycznie zostały sprawdzone (czyli z obiektu Validation, a nie Request). 4. Wszystkie komunikaty tekstowe proponuję przepuszczać przez __(). W przypadku konieczności tłumaczenia softu na inny język nie musisz dotykać kontrolerów. 5. W metodzie action_changeemail() masz błąd:
6. Po poprawnym wysłaniu formularza i zapisaniu danych powinieneś dokonać przekierowania użytkownika na ten sam adres żeby uniknąć ponownego przesyłania formularza przy odświeżeniu strony. 7. Twój model jest całkiem OK, podoba mi się wydzielenie osobnych metod walidacyjnych dla różnych przypadków, a nie kombinowanie z jedną metodą. 8. Metoda check_unique może być napisana wydajniej (zamiast COUNT() robisz SELECT 1 FROM... i ograniczasz na LIMIT 1 - jeśli w wyniku dostaniesz jakikolwiek rekord (1) to znaczy, że user istnieje). Generalnie: fajnie ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 2.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ok dzięki za opinie
![]() Nie jest to mój pierwszy skrypt, wcześniej pisałem pod kohaną ale szkoda pokazywać tego kodu. Walidacja tam praktycznie nie istniała. PS: Ok to zobaczymy co jeszcze powie mój "szef" ;p Ten post edytował bladeer 17.05.2013, 17:42:06 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie mogę rozgryźć funkcji helpera - filter_post a dokładniej zapisu: Helper::filter - to jest jakaś nowa funkcja z K3.3? Filtrowanie ogólnie w modelu już można zrobić przykład z Auth (ORM):
Zakładam, że Twoje filtrowanie polega na usunięciu zbędnych znaków, pustych spacji, itd. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:05 |