⊗ppMVUFmAE 19 of 35 menu

Zbatimi i MVC në PHP

Le të shohim zbatimin e përbashkët të të gjitha të nxënit. Le të themi, për shembull, në faqen tonë të internetit ka disa faqe-artikuj. Ne duam ose të shfaqim një artikull, ose të shfaqim të gjithë artikujt. Le të shqyrtojmë se si ta bëjmë këtë në kornizën tonë.

Tabela në DB

Për të filluar, le të krijojmë një tabelë pages në bazën e të dhënave. Le të shtojmë kolonat id, title dhe text. Le ta plotësojmë këtë tabelë me disa të dhëna përmes PhpMyAdmin.

Modeli

Le të krijojmë një model me një metodë për marrjen e një regjistrimi dhe një metodë për marrjen e të gjithë regjistrimeve:

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

Routingu

Le të krijojmë routingun përkatës:

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

Kontrolluesi

Le të krijojmë kontrolluesin:

<?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 = 'Lista e të gjitha faqeve'; $pages = (new Page) -> getAll(); return $this->render('page/all', [ 'pages' => $pages, 'h1' => $this->title ]); } } ?>

Pamjet

Le të krijojmë pamjen për metodën one:

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

Le të krijojmë pamjen për metodën all:

<h1><?= $h1; ?></h1> <div id="content"> <table> <tr> <th>id</th> <th>title</th> <th>link</th> </tr> <?php foreach ($pages as $page): ?> <tr> <td><?= $page['id']; ?></td> <td><?= $page['title']; ?></td> <td><a href="/page/<?= $page['id']; ?>/">link në faqe</td> </tr> <?php endforeach; ?> </table> </div>

Detyra praktike

Le të themi se në bazën tuaj të të dhënave ka produkte. Çdo produkt përmban emër, çmim dhe sasi, përshkrim. Implementoni shfaqjen e një produkti sipas id dhe të gjithë produkteve ngjashëm me atë që është bërë në teori.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo