⊗ppMVUFmAE 19 of 35 menu

Aplikácia MVC v PHP

Pozrime sa na spoločné použitie všetkého naučeného. Predpokladajme, že na našom webe sú nejaké články-stránky. Chceme buď zobraziť jeden článok, alebo zobraziť všetky články. Pozrime sa, ako to urobiť v našom frameworku.

Tabuľka v databáze

Na začiatok vytvorme tabuľku pages v databáze. Pridajme tam stĺpce id, title a text. Naplňme túto tabuľku nejakými údajmi cez PhpMyAdmin.

Model

Vytvorme model s metódou na získanie jedného záznamu a metódou na získanie všetkých záznamov:

<?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"); } } ?>

Smerovanie (Routing)

Vytvorme príslušné smerovanie:

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

Ovládač (Controller)

Vytvorme ovládač:

<?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 = 'Zoznam všetkých stránok'; $pages = (new Page) -> getAll(); return $this->render('page/all', [ 'pages' => $pages, 'h1' => $this->title ]); } } ?>

Prezentačné vrstvy (Views)

Vytvorme prezentačnú vrstvu pre metódu one:

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

Vytvorme prezentačnú vrstvu pre metódu all:

<h1><?= $h1; ?></h1> <div id="content"> <table> <tr> <th>id</th> <th>názov</th> <th>odkaz</th> </tr> <?php foreach ($pages as $page): ?> <tr> <td><?= $page['id']; ?></td> <td><?= $page['title']; ?></td> <td><a href="/page/<?= $page['id']; ?>/">odkaz na stránku</td> </tr> <?php endforeach; ?> </table> </div>

Praktické úlohy

Predpokladajme, že v vašej databáze sú produkty. Každý produkt obsahuje názov, cenu a množstvo, popis. Realizujte výpis jedného produktu podľa id a všetkých produktov podobne ako je to urobené v teórii.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť