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:
<?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:
<div>
toto je prezentace
akce act kontroleru page
</div>
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.