Widoki w MVC w PHP

Dodajmy teraz widoki do naszych akcji. Zgodnie z zasadami naszego frameworka widoki przechowywane są w folderze /project/views/.

Ponadto, w naszym frameworku obowiązuje konwencja: nazwa pliku z widokiem musi pokrywać się z nazwą akcji i być umieszczona w folderze o takiej samej nazwie jak nazwa kontrolera. Na przykład, jeśli mamy kontroler PageController, to wszystkie jego widoki powinny być przechowywane w folderze /project/views/page/. Sam plik widoku powinien mieć rozszerzenie .php. Na przykład, jeśli w kontrolerze PageController będzie akcja act, to jego widok należy umieścić w /project/views/page/act.php.

Aby przypisać widok do jakiejś akcji, ta akcja musi wywołać metodę render, przekazując jej parametrem nazwę widoku. Nazwa widoku powinna składać się z nazwy kontrolera z małej litery, po której przez / będzie zapisana nazwa akcji.

Metody render nie trzeba implementować w kontrolerze - jest dziedziczona z klasy rodzicielskiej Core\Controller. Ponadto, dla poprawnego działania wynik pracy metody należy zwrócić przez return.

A więc, załóżmy że mamy kontroler Page z akcją act. Przypiszmy do tej akcji widok:

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

Stwórzmy teraz plik z kodem HTML naszego widoku:

/project/views/page/act.php<div>
  to jest widok
  akcji act kontrolera page
</div>
Задание 1

Wykonaj opisane manipulacje, a następnie odwołaj się do naszej akcji przez pasek adresu. Upewnij się, że w przeglądarce pojawi się tekst z utworzonego przez ciebie widoku.