Prikazi u MVC u PHP-u
Hajde sada da dodamo prikaze našim akcijama.
Prema pravilima našeg frejmvorka prikazi
se čuvaju u folderu /project/views/.
Pored toga, u našem frejmvorku važi
dogovor: ime fajla sa prikazom mora
da se poklapa sa imenom akcije i nalazi se
u folderu sa istim nazivom kao i ime kontrolera.
Na primer, ako imamo kontroler PageController,
onda sve njegove prikaze treba čuvati
u folderu /project/views/page/. Sam
fajl prikaza mora da ima ekstenziju
.php. Na primer, ako u kontroleru
PageController bude akcija act,
onda njegov prikaz treba smestiti u
/project/views/page/act.php.
Da bi se postavio prikaz nekoj
akciji, ta akcija mora da pozove metod
render, prosledivši mu parametrom ime
prikaza. Ime prikaza mora da se sastoji
od imena kontrolera sa malim slovom, nakon
kojeg kroz / bude zapisano ime
akcije.
Metod render ne treba implementirati
u kontroleru - on se nasleđuje od roditeljske
klase Core\Controller. Pored toga,
za korektan rad rezultat rada metoda
treba vratiti kroz return.
Dakle, neka imamo kontroler Page
sa akcijom act. Hajde da povežemo
sa ovom akcijom prikaz:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act');
}
}
?>
Hajde sada da napravimo fajl sa HTML kodom našeg prikaza:
<div>
ovo je prikaz
akcije act kontrolera page
</div>
Provedite opisane manipulacije, a zatim obratite se našoj akciji preko adresne linije. Uverite se da će se u brauzeru pojaviti tekst iz kreiranog prikaza.