Prezentace v MVC v PHP

Nyní přidejme našim akcím prezentace. Podle pravidel našeho frameworku jsou prezentace uloženy ve složce /project/views/.

Kromě toho v našem frameworku platí dohoda: název souboru s prezentací musí být stejný jako název akce a musí být umístěn ve složce se stejným názvem jako název kontroleru. Například, pokud máme kontroler PageController, měly by být všechny jeho prezentace uloženy ve složce /project/views/page/. Samotný soubor prezentace musí mít příponu .php. Například, pokud v kontroleru PageController bude akce act, jeho prezentace by měla být umístěna v /project/views/page/act.php.

Pro nastavení prezentace nějaké akci, tato akce musí zavolat metodu render, předat jí parametr název prezentace. Název prezentace se musí skládat z názvu kontroleru s malým počátečním písmenem, po kterém přes / bude zapsán název akce.

Metodu render není třeba implementovat v kontroleru - je děděna z nadřazené třídy Core\Controller. Kromě toho, pro správnou funkci je třeba výsledek práce metody vrátit přes return.

Takže, předpokládejme, že máme kontroler Page s akcí act. Pojďme k této akci připojit prezentaci:

project/controllers/PageController.php<?php
  namespace Project\Controllers;
  use Core\Controller;
  
  class PageController extends Controller
  {
    public function act()
    {
      return $this->render('page/act');
    }
  }
?>

Nyní vytvořme soubor s HTML kódem naší prezentace:

/project/views/page/act.php<div>
  toto je prezentace
  akce act kontroleru page
</div>
Задание 1

Proveďte popsané manipulace a poté přistupte k naší akci přes adresní řádek. Ověřte, že v prohlížeči se objeví text z vytvořené prezentace.