MVC-ի ներկայացումները PHP-ում

Եկեք այժմ ավելացնենք ներկայացումներ մեր գործողություններին: Մեր ֆրեյմվորքի կանոններով ներկայացումները պահվում են /project/views/ պանակում:

Բացի այդ, մեր ֆրեյմվորքում գործում է համաձայնություն. ներկայացման ֆայլի անունը պետք է համընկնի գործողության անվան հետ և տեղադրվի նույն անունով պանակում, ինչ կոնտրոլլերի անունը: Օրինակ, եթե մենք ունենք PageController կոնտրոլլեր, ապա դրա բոլոր ներկայացումները պետք է պահել /project/views/page/ պանակում: Ինքը` ներկայացման ֆայլը պետք է ունենա ընդլայնում .php: Օրինակ, եթե PageController կոնտրոլլերում կա act գործողություն, ապա դրա ներկայացումը պետք է տեղադրվի /project/views/page/act.php հասցեում:

Որպեսզի որևէ գործողության նշանակվի ներկայացում, այդ գործողությունը պետք է կանչի render մեթոդը, անփոխանցելով դրան պարամետրով ներկայացման անունը: Ներկայացման անունը պետք է բաղկացած լինի կոնտրոլլերի անունից փոքրատառով, որից հետո /-ով կգրվի գործողության անունը:

render մեթոդը հարկավոր չէ իրականացնել կոնտրոլլերում - այն ժառանգվում է ծնողական Core\Controller կլասից: Բացի այդ, ճիշտ աշխատանքի համար մեթոդի աշխատանքի արդյունքը պետք է վերադարձնել return-ով:

Այսպիսով, ենթադրենք, մենք ունենք Page կոնտրոլլեր act գործողությամբ: Եկեք կապենք այս գործողությանը ներկայացում:

project/controllers/PageController.php<?php
  namespace Project\Controllers;
  use Core\Controller;
  
  class PageController extends Controller
  {
    public function act()
    {
      return $this->render('page/act');
    }
  }
?>

Այժմ ստեղծենք մեր ներկայացման HTML կոդով ֆայլը:

/project/views/page/act.php<div>
  սա page կոնտրոլլերի
  act գործողության ներկայացումն է
</div>
Задание 1

Կատարեք նկարագրված մանիպուլյացիաները, ապա դիմեք մեր գործողությանը հասցեային տողով: Համոզվեք, որ բրաուզերում կհայտնվի ձեր ստեղծած ներկայացման տեքստը: