Задать вопрос

MVC во фреймворке?

Zend Framework построен по MVC посмотрел документацию к первой части.
Пример со страницы https://framework.zend.com/manual/1.12/en/learning... по созданию layout. Может я что-то не догоняю. но где тут MVC? Такая же мешанина из кода и шаблона...

<!-- application/layouts/scripts/layout.phtml -->
<?php echo $this->doctype() ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Zend Framework Quickstart Application</title>
  <?php echo $this->headLink()->appendStylesheet('/css/global.css') ?>
</head>
<body>
<div id="header" style="background-color: #EEEEEE; height: 30px;">
    <div id="header-logo" style="float: left">
        <b>ZF Quickstart Application</b>
    </div>
    <div id="header-navigation" style="float: right">
        <a href="<?php echo $this->url(
            array('controller'=>'guestbook'),
            'default',
            true) ?>">Guestbook</a>
    </div>
</div>
 
<?php echo $this->layout()->content ?>
 
</body>
</html>
  • Вопрос задан
  • 248 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя ThunderCat К ответам на вопрос (3)
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
У вас крайне странное понимание паттерна mvc. Это код шаблона, который выводит хтмл. Вас смущает хтмл или наличие пхп кода?
Мвц не просто разделяет "только код от только хтмл", он делит приложение на несколько относительно независимых частей, где:
модель отвечает за основную логику в объектах отдельных типов(например пользователь, изображение, товар), вот в них нет (не должно быть по уму) никаих хтмл разметок, чисто логика относящаяся к описываемой сущности.
контроллер отвечает за привязку урл и передаваемых данных к вьюшкам и шаблонам, создает объекты, выполняет их инициализацию с помощью пришедших данных и передает их в представление(читай в шаблон). Так же не должен содержать хтмл.
вид - максимально отделенный от логики шаблон разметки. Так как в него надо все же как то передать данные, конечно же он содержит код пхп, но он не содержит(в идеале) логики сложнее чем циклический вывод и проверки.
Ответ написан