เทมเพลตใน MVC ใน PHP

วิวที่เราได้ศึกษาในบทเรียนที่แล้ว จริงๆแล้วเป็นเนื้อหาของหน้าเว็บ นอกเหนือจากเนื้อหาแล้ว โดยทั่วไปในหน้าเว็บยังมีเฮดเดอร์ ไซด์บาร์ และฟุตเตอร์อีกด้วย ส่วนเหล่านี้มักจะเหมือนกันในทุกหน้าเว็บของไซต์

ในเฟรมเวิร์กของเรา แต่ละหน้าของไซต์คือไฟล์ HTML เทมเพลตเดียวกัน ซึ่งสำหรับแต่ละหน้าของไซต์จะมีเนื้อหาของหน้ามาจากวิวเชื่อมต่อเข้ามาในตำแหน่งที่กำหนด

ไฟล์เทมเพลตจะถูกวางไว้ในเส้นทางต่อไปนี้: /project/layouts/default.php ตามกฎของเฟรมเวิร์ก ในไฟล์นี้จะสามารถเข้าถึงตัวแปร $content ได้ ในตำแหน่งที่ตัวแปรนี้ถูกแสดงออกมาก็จะเกิดการแทรกเนื้อหาของหน้าเว็บ

โดยค่าเริ่มต้น ไฟล์นี้มีโค้ดพื้นฐานดังต่อไปนี้:

/project/layouts/default.php<!DOCTYPE html>
<html>
  <head>
    <title></title>
  </head>
  <body>
    <?= $content ?>
  </body>
</html>
Задание 1

วางเลย์เอาต์ของไซต์ดังต่อไปนี้ในไฟล์เทมเพลต:

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>

ไปที่แอคชันใดๆของคอนโทรลเลอร์ใดๆ แล้วดูว่ามีอะไรเปลี่ยนแปลงบ้าง