MVC-də Kontrollerlər PHP-də
Ilk baxacagımız şey - kontrollerlərdir. Kontrollerlər istifadəçinin sorğularını emal edir, istifadəçinin saytdan nə istədiyini başa düşür, müvafiq məlumatları modeldən soruşur və onları təqdimata göndərir.
Kontrollerlər OOP sinifləri kimi təmsil olunur.
Bir fayl - bir sinif və müvafiq olaraq,
bir kontrollerdir. Bizim freymvorkumuzda kontrollerlər
project/controllers qovluğunda saxlanılacaq.
Gəlin kontroller yaratmaqda məşq edək.
İsınma üçün PageController sinfini edək,
hansı ki, saytımızdakı mətn səhifələrini
idarə edəcək.
Gəlin dərhal kontrollerimiz üçün fayl yaradaq.
Freymvorkumuzun qaydalarına görə hər bir sinif
eyni adlı faylda saxlanmalıdır
(hətta registra qədər). Yəni bizim PageController sinfimiz
PageController.php faylında saxlanılacaq.
Bu faylı project/controllers qovluğunda yaradın.
Gəlin bu faylda sinfimizi edək:
<?php
namespace Project\Controllers;
use \Core\Controller;
class PageController extends Controller
{
}
?>
Gördüyünüz kimi, bizim sinifimiz Project\Controllers
adlar fəzasına aiddir, faylların avtomatik yüklənməsi
konvensiyasına əməl edir (yəni qovluqlardakı yol
adlar fəzası ilə üst-üstə düşməlidir).
Bundan əlavə, bizim sinfimiz Core\Controller
sinfindən miras alır, hansı ki, freymvorkun nüvəsindədir.
Bunda dərin məna axtarmağa ehtiyac yoxdur,
sadəcə onu freymvork qaydası kimi qəbul etmək lazımdır.
Budur, həmin qayda: yaratdığınız bütün kontrollerlər
Core\Controller sinfindən miras almalıdır ki,
hər şey lazımı olduğu kimi işləsin.