⊗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>наслов</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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј