От автора: приветствую вас, друзья. Продолжим создание собственного PHP фреймворка. По итогу мы должны получить вполне функциональное решение, а заодно познакомиться с принципами работы современных PHP фреймворков. В этом уроке мы реализуем функционал шаблонов, видов, а также передачи данных из контроллера в вид.
В видео версии урока вы найдете ответы на такие вопросы:
В чем разница между шаблонами и видами?

Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!Как реализовать автоматическое подключение шаблона и вида?
Как изменить подключаемые по умолчанию шаблон и вид?
Как отменить подключение шаблона и вида?
Как передать данные из контроллера в вид и шаблон?

Разработка веб-приложения на PHP
Создайте веб-приложение на PHP на примере приема платежей на сайте
Смотреть
Подскажите пожалуйста как можно узнать имя класса который наследует базовый класс Db
Например, используя функциюget_class .
Для переключения шаблонов нужно в админке предусмотреть эту возможность (пользователи не полезут в код) и неплохо-бы подключить редактор «CodeMirror» что даст возможность править шаблон непосредственно на хосте …для контента подключить визуальный редактор,…(функционал сайт определяется функционалом админки) иначе для добавления какой-то возможности придётся лезть в код шаблона и т.д.
Александр, Вы путаете фреймворк и CMS. Это в CMS все делается из админки и делается, собственно, сама админка. Мы же пишем фреймворк, т.е. средство, упрощающее создание CMS, средство для разработчиков CMS, которые уже могут предусмотреть выбор шаблона в админке. В этом и заключается ключевая разница: CMS создана в первую очередь для пользователей, не разбирающихся в веб-разработке, а фреймворки созданы исключительно для веб-разработчиков, а не для рядовых пользователей.
Спасибо за уроки, решили, будете продолжать или нет? В видео можно делать ссылки на другие уроки, к примеру рассказывая про регулярки сделав ссылку на уроки по регулярным выражениям. Даст доп траф, своеобразная переленковка.
Пожалуйста) Да, продолжение уже записано и скоро будет опубликовано. За совет спасибо.
Уважаемый Андрей добрый день, есть такой вопрос:
- В уроке вы переопределили для класcа Main 2 свойства:
public $layout = ‘main’;
public $view = ‘test’;
У меня переопределяется только $layout. А $view отсается прежним т.е. не ‘test’ а ‘index’.
При распечатке в видео-уроке этот момент виден:
var_dump($layout);
var_dump($view);
Также скачал исходники урока, и получилось тоже саоме.
Не понимаю почему не меняется $view?
Спасибо за ваш труд, очень качественно!
Здравствуйте, Дмитрий.
Сложно что-то подсказать, здесь нужно смотреть код. Ради интереса скачал исходники — такой проблемы нет, вид и шаблон без проблем переопределяются. Если ошибку все же не найдете, тогда на форуме можете задать вопрос и дать ссылку на архив с Вашим проектом, я попробую посмотреть.
У меня тоже самое, если переопределять view на уровне всего класса — то непереопределяется, если же переопределить на уровне экшена — то все работает. А в уроке Вы действительно на уровне класса переопределили только layout? на 35.24 секунде это четко видно.
Разобрался.
Переопределилв конструкторе
public function __construct($route)
{
parent::__construct($route);
$this->view = ‘test’;
}