Weergaven in MVC in PHP
Laten we nu weergaven toevoegen aan onze acties.
Volgens de regels van ons framework worden weergaven
opgeslagen in de map /project/views/.
Bovendien geldt in ons framework een
conventie: de bestandsnaam van de weergave moet
overeenkomen met de naam van de actie en worden opgeslagen
in een map met dezelfde naam als de controller.
Bijvoorbeeld, als we een controller PageController hebben,
dan moeten al zijn weergaven worden opgeslagen
in de map /project/views/page/. Het
weergavebestand zelf moet de extensie
.php hebben. Stel dat in de controller
PageController een actie act zit,
dan moet zijn weergave worden geplaatst in
/project/views/page/act.php.
Om een weergave aan een actie toe te wijzen,
moet die actie de methode
render aanroepen, en hem de naam
van de weergave als parameter doorgeven. De naam van de weergave moet bestaan
uit de controllernaam met een kleine letter, waarna
via / de naam van de actie
wordt geschreven.
De methode render hoeft niet te worden geïmplementeerd
in de controller - hij wordt geërfd van de bovenliggende
klasse Core\Controller. Bovendien,
voor een correcte werking moet het resultaat van de methode
worden geretourneerd via return.
Laten we zeggen dat we een controller Page
hebben met een actie act. Laten we een
weergave aan deze actie koppelen:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act');
}
}
?>
Laten we nu het bestand met de HTML-code van onze weergave maken:
<div>
dit is de weergave
van actie act van controller page
</div>
Voer de beschreven handelingen uit, en open vervolgens onze actie via de adresbalk. Zorg ervoor dat de tekst uit de door jou gemaakte weergave in de browser verschijnt.