MVC vaated PHP-s

Lisame nüüd meie tegevustele vaated. Vastavalt meie raamistiku reeglitele hoitakse vaateid kaustas /project/views/.

Lisaks kehtib meie raamistikus kokkulepe: vaatefaili nimi peab sama nimega olema kui tegevusel ja asuma kaustas, millel on sama nimi kui kontrolleril. Näiteks kui meil on kontroller PageController, siis tuleks kõik selle vaated hoida kaustas /project/views/page/. Vaatefail ise peab olema laiendiga .php. Näiteks kui kontrolleris PageController on tegevus act, siis tuleks selle vaate asetada faili /project/views/page/act.php.

Selleks, et määrata vaade mõnele tegevusele, peab see tegevus kutsuma meetodit render, andes talle parameetrina vaate nime. Vaate nimi peab koosnema kontrolleri nimest väikese algustähega, millele järgneb / ja seejärel tegevuse nimi.

Meetodit render ei pea teostama kontrolleris - see pärineb vanemklassist Core\Controller. Lisaks tuleks meetodi töö tulemus õiges toimimiseks tagastada läbi return.

Oletame, et meil on kontroller Page koos tegevusega act. Seome sellele tegevusele vaate:

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

Teeme nüüd faili meie vaate HTML-koodiga:

/project/views/page/act.php<div>
  see on tegevuse act vaade
  kontrolleris page
</div>
Задание 1

Tehke kirjeldatud manipulatsioonid ning seejärel pöörduge meie tegevuse poole aadressiriba kaudu. Veenduge, et brauseris kuvataks tekst teie loodud vaatest.