Kontroleri u MVC-u u PHP-u
Prvo sa čime ćemo se pozabaviti su kontroleri. Kontroleri obrađuju korisničke zahteve, razumeju šta je korisnik želeo da zatraži od sajta, traže odgovarajuće podatke iz modela i šalju ih u prikaz.
Kontroleri predstavljaju OOP klase.
Jedna datoteka je jedna klasa i, prema tome,
jedan kontroler. U našem frejmvorku kontroleri
će biti smešteni u fascikli project/controllers.
Hajde da vežbamo kreiranje kontrolera.
Za zagrevanje napravićemo klasu PageController,
koja će upravljati tekstualnim stranicama
na našem sajtu.
Hajde da odmah kreiramo datoteku za naš kontroler.
Po pravilima našeg frejmvorka svaka klasa
mora biti sačuvana u datoteci sa istim nazivom
(tačno do registra). To znači naša klasa PageController
biće sačuvana u datoteci PageController.php.
Kreirajte ovu datoteku u fascikli project/controllers.
Napravićemo u ovoj datoteci našu klasu:
<?php
namespace Project\Controllers;
use \Core\Controller;
class PageController extends Controller
{
}
?>
Kao što vidite, naša klasa pripada prostoru
imenovanja Project\Controllers, sledeći dogovor
o automatskom učitavanju datoteka (to jest putanja po fasciklama
mora da se poklapa sa prostorom imenovanja).
Osim toga, naša klasa nasleđuje se od klase
Core\Controller, koji se nalazi u jezgru
frejmvorka. U ovome ne treba tražiti duboki
smisao, već jednostavno treba prihvatiti kao pravilo
frejmvorka. Evo tog pravila: svi kontroleri koje
vi kreirate moraju naslediti se od
klase Core\Controller, kako bi sve
funkcionisalo kako treba.