PHP da MVC da Kontrollerlar
Birinchi bo'lib, biz kontrollerlar bilan tanishamiz. Kontrollerlar foydalanuvchi so'rovlarini qayta ishlaydi, foydalanuvchi saytdan nima so'raganini tushunadi, mos ma'lumotlarni modeldan so'raydi va ularni ko'rinishga yuboradi.
Kontrollerlar OOP klasslari hisoblanadi.
Bitta fayl - bitta klass va shunga mos ravishda,
bitta kontroller. Bizning freymvorkimizda kontrollerlar
project/controllers papkasida saqlanadi.
Keling, kontrollerlar yaratishda mashq qilaylik.
Isitma uchun PageController klassini yaratamiz,
u saytimizdagi matnli sahifalarni boshqaradi.
Keling, darhol kontrollerimiz uchun fayl yarataylik.
Bizning freymvorkimiz qoidalariga ko'ra har bir klass
o'z nomi bilan (hatto registrgacha) faylda saqlanishi kerak.
Ya'ni bizning PageController klassimiz
PageController.php faylida saqlanadi.
Ushbu faylni project/controllers papkasida yarating.
Keling, ushbu faylda klassimizni yaratamiz:
<?php
namespace Project\Controllers;
use \Core\Controller;
class PageController extends Controller
{
}
?>
Ko'rib turganingizdek, bizning klassimiz Project\Controllers
nomlar fazosiga tegishli, fayllarni avtomatik yuklash
kelishuviga amal qilgan holda (ya'ni papkalar bo'yicha yo'l
nomlar fazosi bilan mos kelishi kerak).
Bundan tashqari, bizning klassimiz Core\Controller
klassidan meros oladi, u freymvork yadrosida joylashgan.
Bunga chuqur ma'no qidirish shart emas,
balki buni oddiygina freymvork qoidasi sifatida qabul qilish kerak.
Mana bu qoida: siz yaratadigan barcha kontrollerlar
Core\Controller klassidan meros olishi kerak,
shunda hamma narsa keragidek ishlaydi.