АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
⊗ppMVUFmVw 10 of 35 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Представления в 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>

Проделайте описанные манипуляции, а затем обратитесь к нашему действию через адресную строку. Убедитесь, что в браузере появится текст из созданного вами представления.

byenru