Представления в MVC в PHP
Нека сега добавим представления към нашите действия.
Според правилата на нашия фреймуърк представленията
се съхраняват в папка /project/views/.
Освен това, в нашия фреймуърк има
споразумение: името на файла с представление трябва
да съвпада с името на действието и да се намира
в папка със същото име, като името на контролера.
Например, ако имаме контролер PageController,
то всички негови представления трябва да се съхраняват
в папка /project/views/page/. Самият
файл с представление трябва да има разширение
.php. Например, ако в контролера
PageController има действие act,
то неговото представление трябва да се намира в
/project/views/page/act.php.
За да зададете представление на някое
действие, това действие трябва да извика метод
render, като му подаде като параметър името
на представлението. Името на представлението трябва да се състои
от името на контролера с малка буква, след
което чрез / ще бъде записано името
на действието.
Метод render не е необходимо да се реализира
в контролера - той се наследява от родителския
клас Core\Controller. Освен това,
за коректна работа резултатът от метода
трябва да се върне чрез return.
И така, нека имаме контролер Page
с действие act. Нека свържем
към това действие представление:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act');
}
}
?>
Нека сега направим файла с HTML кода на нашето представление:
<div>
това е представлението
на действието act на контролера page
</div>
Направете описаните манипулации, а след това достъпете нашето действие чрез адресния бар. Уверете се, че в браузъра ще се появи текст от създаденото от вас представление.