Я очень новичок в MVC, и поэтому я рыскал в сети, пытаясь построить свою собственную платформу, чтобы получить реальное понимание того, как работает вся концепция.
В любом случае, почти все учебники, посвященные MVC, всегда, кажется, присваивают данные, которые должны быть отображены в представлении, промежуточной переменной, которая затем используется в представлении.
Мой вопрос: зачем беспокоиться об этом дополнительном шаге?
Большинство реализаций MVC в конечном итоге включают в себя представление В контроллере ... поэтому, если это так, зачем тратить время / память / ЦП на создание промежуточной переменной / массива, которая затем передается в View, когда заканчивается View. быть включенным с контроллером в конце.
Не имеет ли больше смысла просто использовать переменные контроллера непосредственно в самом представлении?
Вот пример кода, который, надеюсь, прояснит, что я имею в виду:
class News_Controller
{
public function main(array $getVars)
{
$newsModel = new News_Model;
//get an article
$article = $newsModel->get_article($getVars['article']);
//create a new view and pass it our template name
$view = new View_Model($this->templateName);
//assign article data to view
$view->assign('title' , $article['title']);
$view->assign('content' , $article['content']);
$view->render();
}
Функция рендеринга - это, в основном, просто включение, чтобы перенести представление в контроллер для отображения вниз по цепочке. Если это то, что происходит, можно просто использовать $ article непосредственно в View, а не проходить через сложную процедуру назначения переменных для View.