Zadejte hledaný výraz...

MVC – úpravy dat, kde?

Ondřej Záruba
verified
rating uzivatele
17. 7. 2011 19:13:11
Zdravím,
řeším malé dilema: Zjišťuji, že jsem asi úplně nepochopil princip MVC modelu a mám jeden drobný dotaz ohledně zpracovaní nějaké akce...
Mám Model (model1) kde vytahuji data z databáze a do Controlleru posílám array() s vytaženými daty. Controller data vezme a přepošle do jiného modelu (model2) kde se data zpracují a vrátí znovu přes Controller do View.
Řekněme, ale že první model (model1) vrátí data v podobě ve které sní druhý model (model2) neumí pracovat a já potřebuji data tedy upravit tak, abych s nimi mohl dále pracovat. Otázka je, kde script pro úpravu array() spouštět. Jestli má první model (model1) vracet data, přesně tak jak chci. Nebo data upravit v Controlleru a pak poslat do druhého modelu (model2). A nebo data upravit až na vstupu do druhého modelu (model2).
P.S. jedná se o malou úpravu typu:
Předem díky
Ondra Z.
17. 7. 2011 19:13:11
https://webtrh.cz/diskuse/mvc-upravy-dat-kde#reply656484
Ondřej Švec
verified
rating uzivatele
17. 7. 2011 22:17:01
Osobně bych to určitě do controlleru nedával. Nejspíš bych to dal do Modelu2, protože Model1 by měl generovat nějakou "obecnější" strukturu, ze které by si mohl vzít kdo chce, co chce. Pokud už je ale Model1 specificky zaměřený a má nebo bude mít více výstupů, tak bych to zahrnul do něj.
17. 7. 2011 22:17:01
https://webtrh.cz/diskuse/mvc-upravy-dat-kde#reply656483
Franta Toman
verified
rating uzivatele
21. 7. 2011 13:22:46
Napsal Ondra Z.;678167
Zdravím,
řeším malé dilema: Zjišťuji, že jsem asi úplně nepochopil princip MVC modelu a mám jeden drobný dotaz ohledně zpracovaní nějaké akce...
Mám Model (model1) kde vytahuji data z databáze a do Controlleru posílám array() s vytaženými daty. Controller data vezme a přepošle do jiného modelu (model2) kde se data zpracují a vrátí znovu přes Controller do View.
Řekněme, ale že první model (model1) vrátí data v podobě ve které sní druhý model (model2) neumí pracovat a já potřebuji data tedy upravit tak, abych s nimi mohl dále pracovat. Otázka je, kde script pro úpravu array() spouštět. Jestli má první model (model1) vracet data, přesně tak jak chci. Nebo data upravit v Controlleru a pak poslat do druhého modelu (model2). A nebo data upravit až na vstupu do druhého modelu (model2).
P.S. jedná se o malou úpravu typu:
Předem díky
Ondra Z.
Já bych to do modelu2 třeba nedal a v controlleru bych zavolal nějakej helper (funkci, která ti převede data do daného tvaru, který sežere model2) a ty potom dal na vstup modelu2. Moje osobní řešení. Určitě někdo poradí lépe.
I když je pravda, že logika aplikace je ukrytá v modelu, tudíž by právě tam měla být data zpracovávána.
Jinak u toho zmíněného kódu bych raději doporučil count($data) před cyklem uložit do proměnné, protože se pak při každém průchodu počítá dokola počet prvků $data. Anebo alespoň použít foreach, ten mi přijde fajnovější:
Ale to je jenom okolo .)) toho si nevšímej, jen jsem si chtěl rejpnout.
21. 7. 2011 13:22:46
https://webtrh.cz/diskuse/mvc-upravy-dat-kde#reply656482
Pokud na sobě ty dva modely takto závisí a vždy se volají v posloupnosti, je to znamení, že patří dohromady.
Model3 = model1 + model2
21. 7. 2011 15:26:30
https://webtrh.cz/diskuse/mvc-upravy-dat-kde#reply656481
Ondřej Záruba
verified
rating uzivatele
21. 7. 2011 17:56:33
Zajímavé, todle mě nenapadlo... Ano volají se za sebou... První vytáhne URL z DB a druhý z URL vytáhne data
21. 7. 2011 17:56:33
https://webtrh.cz/diskuse/mvc-upravy-dat-kde#reply656480
Franta Toman
verified
rating uzivatele
21. 7. 2011 20:40:58
Napsal Ondra Z.;679855
Zajímavé, todle mě nenapadlo... Ano volají se za sebou... První vytáhne URL z DB a druhý z URL vytáhne data
Nechápu, proč by se to mělo dělat odděleně. Potom, jak řekl Martin, je opravdu namístě jeden model.
21. 7. 2011 20:40:58
https://webtrh.cz/diskuse/mvc-upravy-dat-kde#reply656479
Skelet
verified
rating uzivatele
(9 hodnocení)
21. 7. 2011 21:36:13
Jestli mas model1 a model2, tak se vyse* na presenter a z m1 posílej data do m2 (je jedno kdo je bude upravovat a zpracovávat). Hlavně aby si rozuměli. Pak pošli data do presenteru (controleru)
21. 7. 2011 21:36:13
https://webtrh.cz/diskuse/mvc-upravy-dat-kde#reply656478
Pro odpověď se přihlašte.
Přihlásit