⊗ppMVUFmAE 19 of 35 menu

MVC alkalmazása PHP-ban

Nézzük meg a tanultak együttes alkalmazását. Tegyük fel például, hogy a weboldalunkon vannak cikkek-oldalak. Vagy egy cikket akarunk megjeleníteni, vagy az összes cikket. Vizsgáljuk meg, hogyan tehetjük ezt meg a keretrendszerünkben.

Tábla az adatbázisban

Kezdetként hozzunk létre egy pages táblát az adatbázisban. Adjunk hozzá id, title és text oszlopokat. Töltsük ki ezt a táblát néhány adattal a PhpMyAdmin-on keresztül.

Modell

Készítsünk egy modellt egy rekord lekérésére és egy metódussal az összes rekord lekérésére:

<?php namespace Project\Models; use \Core\Model; class Page extends Model { public function getById($id) { return $this->findOne("SELECT * FROM pages WHERE id=$id"); } public function getAll() { return $this->findMany("SELECT id, title FROM pages"); } } ?>

Útválasztás

Készítsük el a megfelelő útválasztást:

<?php use \Core\Route; return [ new Route('/page/:id', 'page', 'one'), new Route('/pages/', 'page', 'all'), ]; ?>

Vezérlő

Készítsük el a vezérlőt:

<?php namespace Project\Controllers; use \Core\Controller; use \Project\Models\Page; class PageController extends Controller { public function one($params) { $page = (new Page) -> getById($params['id']); $this->title = $page['title']; return $this->render('page/one', [ 'text' => $page['text'], 'h1' => $this->title ]); } public function all() { $this->title = 'Az összes oldal listája'; $pages = (new Page) -> getAll(); return $this->render('page/all', [ 'pages' => $pages, 'h1' => $this->title ]); } } ?>

Nézetek

Készítsük el a nézetet a one metódushoz:

<h1><?= $h1; ?></h1> <div id="content"> <?= $text; ?> </div>

Készítsük el a nézetet a all metódushoz:

<h1><?= $h1; ?></h1> <div id="content"> <table> <tr> <th>id</th> <th>cím</th> <th>hivatkozás</th> </tr> <?php foreach ($pages as $page): ?> <tr> <td><?= $page['id']; ?></td> <td><?= $page['title']; ?></td> <td><a href="/page/<?= $page['id']; ?>/">hivatkozás az oldalra</td> </tr> <?php endforeach; ?> </table> </div>

Gyakorlati feladatok

Tegyük fel, hogy vannak termékei az adatbázisában. Minden termék tartalmaz nevet, árat és mennyiséget, leírást. Valósítsa meg egy termék megjelenítését id alapján és az összes terméket hasonlóan ahogy az elméletben is meg van csinálva.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás