Пытаюсь разбираться с PHP и в частности с моделью MVC. Подскажите, пожалуйста:
Разбирая базовый набор фреймворка yii2, нашел, что в представлении about.php указывается title страницы, а дальше собственно html-код.
<?php
// ...
$this->title = 'About';
?>
<div class="site-about">
...
</div>
Как именно такое реализовано, ведь сначала загружается шаблон, а в нем уже выводится контент? Я понимаю, что есть класс View, который наполняется данными, и затем они выводятся. Но как в поля класса попадает код из представления? about.php, получается, как-то парсится, сохраняются значения полей класса, а сам html представления попадает в некую переменную $content, которая вызывается в шаблоне?
У меня получается так:
title и пр. Либо из БД, либо прямо руками пишу там.include view.phpЕстественно, тут уже никак не передать title из представления. Нужно ли вообще иметь такую возможность, почему бы и не оставлять все данные в модели...
При чем тут передать из представления в шаблон? Во вьюхе переменная $this является объектом класса View. Этот объект передается во вьюху на уровне родительского контроллера (если не ошибаюсь) и во вьюхе свойству title, объекта View присваивается значение. Скинули объект во вьюху, изменили его там малость, а данные этого свойства вывели в шаблоне, потому что этот объект туда тоже передается. Объект передан по ссылке, возможно поэтому некоторая путаница возникла.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей