Views i MVC i PHP
Lad os nu tilføje views til vores handlinger.
Ifølge reglerne i vores framework skal views
opbevares i mappen /project/views/.
Derudover gælder der en konvention i vores
framework: navnet på view-filen skal
svare til navnet på handlingen og placeres
i en mappe med samme navn som controlleren.
For eksempel, hvis vi har en controller kaldet PageController,
så skal alle dens views opbevares
i mappen /project/views/page/. Selve
view-filen skal have filtypen
.php. For eksempel, hvis controlleren
PageController har en handling kaldet act,
så skal dens view placeres i
/project/views/page/act.php.
For at tildele et view til en
handling, skal handlingen kalde metoden
render og give den viewets navn som parameter.
Viewets navn skal bestå af
controllerens navn med lille begyndelsesbogstav, efterfulgt
af / og så navnet på handlingen.
Metoden render behøver ikke at blive implementeret
i controlleren - den arves fra forældreklassen
Core\Controller. Derudover,
for at det skal fungere korrekt, skal resultatet af metodekaldet
returneres via return.
Så, lad os sige vi har en controller kaldet Page
med en handling kaldet act. Lad os knytte
et view til denne handling:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act');
}
}
?>
Lad os nu oprette filen med HTML-koden til vores view:
<div>
dette er viewet for
handlingen act i controlleren page
</div>
Udfør de beskrevne handlinger, og åbn derefter vores handling via adresselinjen. Forsikr dig om, at teksten fra det view, du har oprettet, vises i browseren.