MVC-ում կոնտրոլերները PHP-ում
Առաջին բանը, որով կզբաղվենք, կոնտրոլերներն են: Կոնտրոլերները մշակում են օգտատիրոջ հարցումները, հասկանում են, թե ինչ է օգտատերը ցանկացել հարցնել կայքից, համապատասխան տվյալները խնդրում են մոդելից և ուղարկում դրանք ներկայացմանը:
Կոնտրոլերները ներկայացնում են OOP դասեր:
Մեկ ֆայլը դա մեկ դաս է և, համապատասխանաբար,
մեկ կոնտրոլեր: Մեր ֆրեյմվորկում կոնտրոլերները
կպահպանվեն project/controllers պանակում:
Եկեք վարժվենք կոնտրոլերների ստեղծման մեջ:
Տաքացման համար կստեղծենք PageController դասը,
որը կկառավարի տեքստային էջերը
մեր կայքում:
Եկեք անմիջապես ստեղծենք ֆայլ մեր կոնտրոլերի համար:
Մեր ֆրեյմվորկի կանոններով յուրաքանչյուր դաս
պետք է պահպանվի նույնանուն ֆայլում
(մինչև ռեգիստրը): Այսինքն մեր PageController դասը
կպահպանվի PageController.php ֆայլում:
Ստեղծեք այս ֆայլը project/controllers պանակում:
Այս ֆայլում կստեղծենք մեր դասը:
<?php
namespace Project\Controllers;
use \Core\Controller;
class PageController extends Controller
{
}
?>
Ինչպես տեսնում եք, մեր դասը պատկանում է Project\Controllers
անվանատարածքին, հետևելով ֆայլերի ավտոլoading-ի
պայմանավորվածությանը (այսինքն պանակների ուղին
պետք է համընկնի անվանատարածքի հետ):
Բացի այդ, մեր դասը ժառանգվում է Core\Controller դասից,
որը գտնվում է ֆրեյմվորկի միջուկում:
Սրա մեջ խորը իմաստ փնտրելու կարիք չկա,
այլ պարզապես պետք է ընդունել որպես ֆրեյմվորկի կանոն:
Ահա այդ կանոնը. ձեր ստեղծած բոլոր կոնտրոլերները
պետք է ժառանգեն Core\Controller դասից,
որպեսզի ամեն ինչ աշխատի այնպես, ինչպես պետք է: