Prezentácie v MVC v PHP

Pridajme teraz našim akciám prezentácie. Podľa pravidiel nášho frameworku sa prezentácie ukladajú v priečinku /project/views/.

Okrem toho v našom frameworku platí dohoda: názov súboru s prezentáciou musí súhlasiť s názvom akcie a musí byť umiestnený v priečinku s rovnakým názvom ako je názov kontrolera. Napríklad, ak máme kontroler PageController, všetky jeho prezentácie by mali byť uložené v priečinku /project/views/page/. Samotný súbor prezentácie musí mať príponu .php. Napríklad, ak v kontroleri PageController bude akcia act, jeho prezentácia by mala byť umiestnená v /project/views/page/act.php.

Aby sme nastavili prezentáciu nejakej akcii, táto akcia musí zavolať metódu render, odovzdajúc jej parametrom názov prezentácie. Názov prezentácie musí pozostávať z názvu kontrolera s malým začiatočným písmenom, po ktorom cez / bude zapísaný názov akcie.

Metódu render netreba implementovať v kontroleri - je dedená od rodičovskej triedy Core\Controller. Okrem toho, pre korektnú funkčnosť je výsledok práce metódy potrebné vrátiť cez return.

Nech máme teda kontroler Page s akciou act. Pripojme k tejto akcii prezentáciu:

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

Vytvorme teraz súbor s HTML kódom našej prezentácie:

/project/views/page/act.php<div>
  toto je prezentácia
  akcie act kontrolera page
</div>
Задание 1

Vykonajte opísané manipulácie a potom pristúpte k našej akcii cez adresový riadok. Presvedčte sa, že v prehliadači sa objaví text z vytvorenej prezentácie.