โมเดลใน MVC ใน PHP

ตอนนี้เรามาทำความเข้าใจกับโมเดลกัน โมเดล เช่นเดียวกับคอนโทรลเลอร์ เป็นคลาส OOP ควรวางไว้ในโฟลเดอร์ /project/models/ ลองในโฟลเดอร์นี้ ในไฟล์ Page.php สร้างโมเดล Page ที่รับผิดชอบข้อมูลหน้าต่างๆ ของเว็บไซต์ของเรา:

/project/models/Page.php<?php
  namespace Project\Models;
  use \Core\Model;
  
  class Page extends Model
  {
    
  }
?>

อย่างที่คุณเห็น โมเดลของเราสืบทอดมาจากคลาส \Core\Model จากคลาสนี้โมเดลของเรา สืบทอดเมธอดที่ได้รับการป้องกัน findOne และ findMany เมธอด findOne รับพารามิเตอร์ เป็นคำสั่ง SQL และส่งคืนเรกคอร์ดแรก จากฐานข้อมูล ที่ตรงกับผลลัพธ์ของคำสั่ง เมธอด findMany รับคำสั่ง SQL เช่นกัน แต่ส่งคืนอาร์เรย์ของเรกคอร์ด

ในขณะเดียวกันคุณไม่ต้องเขียนโค้ดที่สร้าง การเชื่อมต่อกับฐานข้อมูล หรือประมวลผลผลลัพธ์ ของคำสั่งผ่าน mysqli_fetch_assoc เฟรมเวิร์กทำสิ่งนี้ให้คุณ คุณแค่ต้อง เลือกว่าคุณคาดหวังจากคำสั่งหนึ่งเรกคอร์ด จากฐานข้อมูลหรือหลายเรกคอร์ด และใช้ฟังก์ชันที่เกี่ยวข้อง โดยได้รับผลลัพธ์เป็นอาร์เรย์ที่ใช้งานได้ ซึ่งสามารถนำไปใช้ต่อไปได้ทันที