MVC-mallin ohjaimet PHP:ssä
Ensimmäinen asia, jota selvitetään, ovat ohjaimet. Ohjaimet käsittelevät käyttäjän pyyntöjä, ymmärtävät, mitä käyttäjä halusi kysyä verkkosivustolta, pyytävät vastaavia tietoja mallista ja lähettävät ne näkymään.
Ohjaimet edustavat OOP-luokkia.
Yksi tiedosto on yksi luokka ja siten
yksi ohjain. Frameworkissamme ohjaimet
säilytetään kansiossa project/controllers.
Harjoitellaan ohjainten luomista.
Lämmittelynä teemme luokan PageController,
joka hallinnoi tekstisivuja
verkkosivustollamme.
Luodaan heti tiedosto ohjaimellemme.
Frameworkimme sääntöjen mukaan jokaisen luokan
tulee säilyä samannimisessä tiedostossa
(aivan kirjainkoosta). Eli luokkamme PageController
säilytetään tiedostossa PageController.php.
Luo tämä tiedosto kansioon project/controllers.
Tehdään tähän tiedostoon luokkamme:
<?php
namespace Project\Controllers;
use \Core\Controller;
class PageController extends Controller
{
}
?>
Kuten näet, luokkamme kuuluu nimitilaan
Project\Controllers, noudattaen
tiedostojen automaattisen lataamisen sopimusta
(eli polku kansioiden kautta
tulee vastata nimitilaa).
Lisäksi luokkamme perii luokan
Core\Controller, joka sijaitsee frameworkin
ydinmoduulissa. Tässä ei tarvitse etsiä syvää
merkitystä, vaan se on vain hyväksyttävä frameworkin sääntönä.
Tässä on sääntö: kaikkien luomiesi
ohjainten on perittävä luokasta
Core\Controller, jotta kaikki
toimii kuten pitää.