Pogledajte određenu poruku
Staro 12. 04. 2012.   #35
bluesman
Goran Pilipović
Sir Write-a-Lot
 
Avatar bluesman
 
Datum učlanjenja: 18.05.2005
Lokacija: Beograd
Poruke: 5.450
Hvala: 288
1.247 "Hvala" u 446 poruka
bluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušati
Pošaljite ICQ poruku za bluesman
Default

Citat:
Originalno napisao Marko Medojevic Pogledajte poruku
Mislim da je upotreba $_POST u modelu loša sa aspekta ponovne upotrebljuvosti koda.

Uzmimo recimo primer gde se post koristi u modelu:
Kôd:
public function addUser() {
$this->db->insert($_POST['username'], $_POST['password'],$_POST['email']);
}
i primer gde se prosleđuju parametri:
Kôd:
public function addUser($username, $password, $email) {
$this->db->insert($username, $password, $email);
}
Prvi metod, koji koristi post, lako možeš upotrebiti iz kontrolera koji prima POST od forme sa očekivanim podatcima.
Međutim, da li možeš prvu metodu koristiti da upišeš podatke koji ne dolaze iz POST forme, recimo iz neke migracije koja uzima podatke iz stare baze i upisuje u novu?
Ili recimo, možda ćeš želeti da metodu addUser() testiraš kroz unit testove, gde ćeš sam prosleđivati podatke u kodu.

Mislim da je ponovna upotrebljivost druge metide daleko veća, za razliku od prve koja je zakucana za POST kontekst.
Nešto se nismo razumelli, ja nisam rekao da $_POST ide direktno u model nego sam rekao da se u modelu vrši validacija ulaznih podataka, bez obzira na poreklo

Po meni treba ovako:

Kôd:
public function addUser($data) {
// $data validacija
$this->db->insert(... whatever here .. );
}
A $data može da bude $_POST iz controllera ili bilo koji drugi array iz nekog drugog objekta

a ovo sa 17 parametara funkcije ne bih sada komentarisao osim da je to loša praksa
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman
I don't always know what I'm talking about but I know I'm right!
bluesman je offline   Odgovorite uz citat
"Hvala" bluesman za poruku: