⊗ppMVUFmAE 19 of 35 menu

Ужыванне MVC у PHP

Давайце паглядзім на сумеснае ўжыванне ўсяго вывучанага. Хай, напрыклад, у нас на сайце ёсць якія-небудзь артыкулы-старонкі. Мы хочам альбо паказаць адзін артыкул, альбо паказаць усе артыкулы. Давайце разгледзім, як гэта зрабіць у нашым фрэймворку.

Табліца ў БД

Для пачатку створым табліцу pages у базе даных. Дадамо туды калонкі id, title і text. Запоўнім гэтую табліцу якімі-небудзь данымі праз PhpMyAdmin.

Мадэль

Зробім мадэль з метадам для атрымання аднаго запісу і метадам для атрымання ўсіх запісаў:

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

Роўтынг

Зробім адпаведны роўтынг:

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

Кантролер

Зробім кантролер:

<?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 = 'Спіс усіх старонак'; $pages = (new Page) -> getAll(); return $this->render('page/all', [ 'pages' => $pages, 'h1' => $this->title ]); } } ?>

Прадстаўленні

Зробім прадстаўленне для метаду one:

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

Зробім прадстаўленне для метаду all:

<h1><?= $h1; ?></h1> <div id="content"> <table> <tr> <th>id</th> <th>title</th> <th>спасылка</th> </tr> <?php foreach ($pages as $page): ?> <tr> <td><?= $page['id']; ?></td> <td><?= $page['title']; ?></td> <td><a href="/page/<?= $page['id']; ?>/">спасылка на старонку</td> </tr> <?php endforeach; ?> </table> </div>

Практычныя задачы

Хай у вас у базе даных ёсць прадукты. Кожны прадукт змяшчае назву, цану і колькасць, апісанне. Рэалізуйце вывад аднаго прадукту па id і ўсіх прадуктаў падобна таму, як гэта зроблена ў тэорыі.

Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць