Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ