Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] MVC dobre praktyki - Code igniter
-pr4ktykant-
post 26.02.2014, 10:56:34
Post #1





Goście







Mam formularz który dodaje rekordy do bazy. W nim prawie 80 pól z których każde jest inne więc trzeba je ponazywać, dopisać do widoku i umieścić jeszcze w widoku edycji. Sam plik ma ponad 1 000 linijek i gdy próbuję coś zmienić muszę edytować na raz 2 pliki (dodawanie i edycja). Myślę więc jak to powinno się najlepiej rozwiązać. Zrobić jeden widok dla dodawania i edycji i w nim warunki czy zostawić to tak jak jest ?
Gdybym miał drugi widok musiałbym
* zrobić tablice z pustymi wartościami z wszystkich pól które będą zapisane (żeby nie wywaliło w widoku że zmienna nie istnieje)
* zrobić warunki na akcje formularza (add/edit) oraz na submit formularza (dodaj/zapisz zmiany)
tylko czy to jest dobry pomysł takie faszerowanie widoku pustymi zmiennymi oraz warunkami ? Niby bym miał łatwiej ale plik będzie bardziej zamotany chyba. Jak wy to robicie dla takich dużych formularzy ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-pr4ktykant-
post 26.02.2014, 12:43:08
Post #2





Goście







Dziękuję za kod, później go jeszcze dokładniej przeanalizuję z verification, sporo się z niego nauczę. Nie rozumiem jednak jednego. Po co to set_value skoro 2 parametr dla np. input i tak przyjmuje wartosc "value" wiec nwaet jak sie da bez set_value to bedzie to samo ...

Nie jestem pewien czy dobrze zrozumiałem ale w Twoim kodzie chyba i tak jest podzielone na 2 pliki widok add/edit a mam tam już ponad 1 000 linijek razem z foundation posegregowanych w tabulatory i zmienianie tego na tym etapie to prawie jak pisanie tego od nowa sad.gif

Zazwyczaj używam trochę inaczej form_helper'a bo muszę dać więcej opcji więc przykładowo wygląda u mnie to tak:
  1. <?=form_label('Name', 'name')?>
  2. <?=form_input(array('name'=>'name', 'id'=>'name', 'placeholder'=>'Obiect name', 'value'=> $object['name'] ))?>

i myślę czy nie szybciej w tym momencie byłoby w widoku dać jakiś isset albo przynajmniej cos w stylu:
  1. ($object['name'] != '' ? $object['name'] : '')

ale jak do tablicy dodać takie cos ?
Mogę dla każdego z 80 elementów dać dodatkowa zmienna np.:
  1. ($object['name'] != '' ? $element_name = $object['name'] : $element_name = '')

ale pisać to znów 80 razy ?

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 17:39