ชื่อเรื่องหน้าใน MVC ใน PHP

ในไฟล์เทมเพลตยังมีตัวแปร $title, ซึ่งเก็บชื่อเรื่องของหน้า เห็นได้ชัดว่าชื่อเรื่องนี้จะ ต่างกันสำหรับแต่ละหน้า มาดูการใช้ ตัวแปรนี้ตามวัตถุประสงค์:

/project/layouts/default.php<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title><?= $title ?></title>
  </head>
  <body>
    ...
  </body>
</html>

เพื่อกำหนดชื่อเรื่องสำหรับ วิวหนึ่ง ๆ จำเป็นต้องเขียน ลงในคุณสมบัติ title ในคอนโทรลเลอร์:

project/controllers/TestController.php<?php
  namespace Project\Controllers;
  use Core\Controller;
  
  class TestController extends Controller
  {
    public function act()
    {
      // กำหนดชื่อเรื่อง:
      $this->title = 'แอ็กชัน act ของคอนโทรลเลอร์ test';
      
      // เรนเดอร์วิว โดยส่งข้อมูลบางส่วน:
      return $this->render('test/act', [
        'var1' => 'eee',
        'var2' => 'bbb',
        'var3' => 'kkk',
      ]);
    }
  }
?>
Задание 1

ปรับเปลี่ยนไฟล์เทมเพลตและคอนโทรลเลอร์ทั้งหมดของคุณ เพื่อให้แต่ละวิวแสดงชื่อเรื่อง ของตัวเอง

Задание 2

ให้ในคอนโทรลเลอร์ Page มีอาร์เรย์ต่อไปนี้ :

php<?php
  $this->pages = [
    1 => ['title'=>'page 1', 'text'=>'text 1'],
    2 => ['title'=>'page 2', 'text'=>'text 2'],
    3 => ['title'=>'page 3', 'text'=>'text 3'],
  ];
?>

สร้างแอ็กชัน show, ซึ่งจะ แสดงหน้าที่กำหนด ให้ในวิว ข้อความของหน้าจากคีย์ 'text' ถูกห่อด้วยย่อหน้า และข้อความจากคีย์ 'title' กลายเป็นชื่อเรื่องหน้า