PHP MVC에서 페이지 제목

템플릿 파일에서는 페이지 제목을 포함하는 $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 동작';
      
      // 데이터를 전달하면서 뷰 렌더링:
      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' 키의 텍스트는 페이지 제목이 되도록 하세요.