Controllers in MVC in PHP
Het eerste waar we naar zullen kijken, zijn controllers. Controllers verwerken gebruikersverzoeken, begrijpen wat de gebruiker van de website wilde vragen, vragen de bijbehorende gegevens op van het model en sturen deze naar de view.
Controllers zijn OOP klassen.
Eén bestand is één klasse en, bijgevolg,
één controller. In ons framework zullen controllers
worden opgeslagen in de map project/controllers.
Laten we oefenen met het maken van controllers.
Om op te warmen maken we de klasse PageController,
die de tekstpagina's op onze website
zal beheren.
Laten we meteen een bestand voor onze controller aanmaken.
Volgens de regels van ons framework moet elke klasse
worden opgeslagen in een bestand met dezelfde naam
(inclusief hoofdletters). Dat betekent dat onze klasse PageController
zal worden opgeslagen in het bestand PageController.php.
Maak dit bestand aan in de map project/controllers.
Laten we in dit bestand onze klasse maken:
<?php
namespace Project\Controllers;
use \Core\Controller;
class PageController extends Controller
{
}
?>
Zoals je ziet, behoort onze klasse tot de namespace
Project\Controllers, volgens de afspraak
voor het automatisch laden van bestanden (dat wil zeggen, het pad via mappen
moet overeenkomen met de namespace).
Bovendien erft onze klasse over van de klasse
Core\Controller, die zich in de kern
van het framework bevindt. Hier hoef je geen diepere
betekenis in te zoeken, maar gewoon te accepteren als een regel
van het framework. Dit is de regel: alle door jou
aangemaakte controllers moeten overerven van
de klasse Core\Controller, zodat alles
werkt zoals het hoort.