Az alapoktól...

PHP kezdőknek

PHP kezdőknek

16. lecke - Az MVC szemléletről érthetően

2016. május 26. - Frantique

Divatos a webes programozásban manapság az MVC szemlélet. Majdnem minden ismert és kevésbé ismert keretrendszer ezen módszertan elveit követi.

Az MVC egy rövidítés, az angol Model - View - Controller szavakból ered. Magyarul modell - nézet - vezérlő néven ismerhetik. A lényege az, hogy az adatokat szétválasszuk a megjelenítéstől, így egymástól függetlenül tudjuk tetszés szerint fejleszteni és változtatni mind az adatstruktúrákat, mind a megjelenítés elemeit.

A különböző részek az alábbiak szerint kapcsolódnak egymáshoz a webes alkalmazásokban:

A nézet az aktuálisan megjelenített HTML oldal, a vezérlő a szerveren futó (a mi esetünkben PHP) kód, a modell pedig a konkrétan tárolt adatok, amelyek lehetnek adatbázisban, XML-ben, vagy akár egyszerű szöveges vagy bináris fájlban.

Sematikusan:

(Felhasználó <==> [ HTML oldal ]) <===== HTTP(S) csatorna ====> { [ PHP kód ] <==> [ Adatbázis ] }

A működés egyszerűsítve így nézhet ki:

A felhasználó egy eseményt generál (pl. megnyom egy gombot), az esemény hatására a hozzátartozó adatok (pl. egy űrlap mezői) a HTTP(S) csatornán átutaznak a szerverre (piros rész), ahol a PHP kód egy előre meghatározott forgatókönyv alapján feldolgozza az érkező adatokat (pl. a $_POST változó adatait), és azokat az adatbázisba írja (pl. MySQL adatbázisba), esetleg az adatbázisból kiolvassa a kért adatokat, és visszaküldi azokat a felhasználónak.

A modell és a nézet szétválasztásával csökkenthetjük a programjaink bonyolultságát, valamint az utólagos bővítést és átírást is könnyebbé tehetjük.

 Egy nagyon primitív és egyszerű példán keresztül lássuk a szemléletet a gyakorlatban:

├── controller
│   └── mycontroller.php
├── index.php
├── model
│   └── mymodel.csv
└── view
    ├── myform.html
    └── valasz.html

A mycontroller.php végzi a munkát: a view mappa myform.html-én keresztül begyűjtött adatokat a model mappa mymodel.csv fájljába írja, majd a valasz.html-en keresztül kilistázza a mymodel.csv tartalmát. Az index.php csupán a mycontroller.php befoglalását tartalmazza, semmi egyebet.

 

A házi feladat legyen a fenti séma kidolgozása, a myform kérjen be 2 adatot: egy nevet és egy email címet. A kész megoldást a https://www.facebook.com/virustalanitas/ oldalon lehet elkérni, ha nem sikerül egyedül!

A bejegyzés trackback címe:

https://php-kezdoknek.blog.hu/api/trackback/id/tr58748982

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása