เทมเพลตใน MVC ใน PHP
วิวที่เราได้ศึกษาในบทเรียนที่แล้ว จริงๆแล้วเป็นเนื้อหาของหน้าเว็บ นอกเหนือจากเนื้อหาแล้ว โดยทั่วไปในหน้าเว็บยังมีเฮดเดอร์ ไซด์บาร์ และฟุตเตอร์อีกด้วย ส่วนเหล่านี้มักจะเหมือนกันในทุกหน้าเว็บของไซต์
ในเฟรมเวิร์กของเรา แต่ละหน้าของไซต์คือไฟล์ HTML เทมเพลตเดียวกัน ซึ่งสำหรับแต่ละหน้าของไซต์จะมีเนื้อหาของหน้ามาจากวิวเชื่อมต่อเข้ามาในตำแหน่งที่กำหนด
ไฟล์เทมเพลตจะถูกวางไว้ในเส้นทางต่อไปนี้: /project/layouts/default.php ตามกฎของเฟรมเวิร์ก ในไฟล์นี้จะสามารถเข้าถึงตัวแปร $content ได้ ในตำแหน่งที่ตัวแปรนี้ถูกแสดงออกมาก็จะเกิดการแทรกเนื้อหาของหน้าเว็บ
โดยค่าเริ่มต้น ไฟล์นี้มีโค้ดพื้นฐานดังต่อไปนี้:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?= $content ?>
</body>
</html>
วางเลย์เอาต์ของไซต์ดังต่อไปนี้ในไฟล์เทมเพลต:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ชื่อหน้าเว็บ</title>
</head>
<body>
<header>
เฮดเดอร์ของไซต์
</header>
<div class="container">
<aside class="sidebar left">
ไซด์บาร์ซ้าย
</aside>
<main>
<?= $content ?>
</main>
<aside class="sidebar right">
ไซด์บาร์ขวา
</aside>
</div>
<footer>
ฟุตเตอร์ของไซต์
</footer>
</body>
</html>
ไปที่แอคชันใดๆของคอนโทรลเลอร์ใดๆ แล้วดูว่ามีอะไรเปลี่ยนแปลงบ้าง