⊗ppMVUFmAE 19 of 35 menu

Penggunaan MVC dalam PHP

Mari kita lihat penggunaan bersama semua yang telah dipelajari. Katakan, sebagai contoh, kami mempunyai beberapa artikel-halaman di laman web. Kami mahu sama ada menunjukkan satu artikel, atau menunjukkan semua artikel. Mari kita pertimbangkan bagaimana untuk melakukannya dalam kerangka kerja kami.

Jadual dalam Pangkalan Data

Sebagai permulaan, mari buat jadual pages dalam pangkalan data. Mari tambah lajur id, title dan text. Mari isi jadual ini dengan beberapa data melalui PhpMyAdmin.

Model

Mari buat model dengan kaedah untuk mendapatkan satu rekod dan kaedah untuk mendapatkan semua rekod:

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

Perihalan Laluan (Routing)

Mari buat perihalan laluan yang sepadan:

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

Pengawal (Controller)

Mari buat pengawal:

<?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 = 'Senarai semua halaman'; $pages = (new Page) -> getAll(); return $this->render('page/all', [ 'pages' => $pages, 'h1' => $this->title ]); } } ?>

Paparan (Views)

Mari buat paparan untuk kaedah one:

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

Mari buat paparan untuk kaedah all:

<h1><?= $h1; ?></h1> <div id="content"> <table> <tr> <th>id</th> <th>tajuk</th> <th>pautan</th> </tr> <?php foreach ($pages as $page): ?> <tr> <td><?= $page['id']; ?></td> <td><?= $page['title']; ?></td> <td><a href="/page/<?= $page['id']; ?>/">pautan ke halaman</td> </tr> <?php endforeach; ?> </table> </div>

Tugas Praktikal

Katakan anda mempunyai produk dalam pangkalan data. Setiap produk mengandungi nama, harga dan kuantiti, keterangan. Laksanakan paparan satu produk mengikut id dan semua produk serupa dengan cara yang dilakukan dalam teori.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak