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

การกำหนดเส้นทาง (Routing)

สร้างการกำหนดเส้นทางที่เกี่ยวข้อง:

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

วิว (View)

สร้างวิวสำหรับเมธอด 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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ