MVC design kérdés
Sziasztok, nemrég kezdtem megismerkedni a Codeigniter keretrendszerrel. Eddig nagyon tetszik a rendszer, de az MVC minta még sok fejtörést okoz. Eddig mindenhol azt olvastam, hogy a viewba nem illik működési logikát írni. Pedig nekem most pont ez kellene. Egy login rendszert csinálok, belépés után sok különböző view kerülhet kiírtásra, annak függvényében, hogy a felhasználó milyen jogosultsággal rendelkezik.
Arra gondoltam, hogy a session ellenőrzést egy template view -ban valósítanám meg, hogy ne kelljen ugyanazt a session ellenörző kódot minden egyes controllerbe beilleszteni.
Mi a véleményetek erről a megoldásról?
■ Arra gondoltam, hogy a session ellenőrzést egy template view -ban valósítanám meg, hogy ne kelljen ugyanazt a session ellenörző kódot minden egyes controllerbe beilleszteni.
Mi a véleményetek erről a megoldásról?
Ne
Én már a modellből se
pp
Van egy application/core
A "MY_"-t a configba beállítod.
Ezt kiterjeszted a többi controllerrel.
Amiket leírtál az NEM való egy view-ba!
hello, ha minden HTTP
ha minden HTTP kérésnél szükséged van erre az ellenőrzésre, akkor CodeIgniter esetén valószínűleg a pre_controller hook-ban lenne érdemes implementálnod. A nézetbe ne rakd, mint azt már fentebb kifejtették. Tényleg ne :)
Ha pedig egyik megoldás sem
Köszönöm a válaszokat, sok jó
De ha már itt tartunk, miért ennyire ellenjavalt a view ban megvalósítani az ellenőrzést? Elvégre csak pár sor kód lenne az egész....
Nem arra való
mert a view megjelenítésre való, nem authorizációra
A megoldás
http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY
Jaja, ez is jó megoldás. Csak
Ami a lényeg, hogy kb minden frameworkben működni fog az a megoldás, hogy minden controllert egy közös - általad írt - ősosztályból származtatod, és ennek egy alkalmas metódusában csinálod meg azokat a dolgokat, amiket minden requestnél meg kell csinálni. Ez az alkalmas metódus codeigniterben láthatóan a konstruktor, de más rendszerekben gyakran van "dedikált" metódus az ilyesmihez.