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 просмотров
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
У вас крайне странное понимание паттерна mvc. Это код шаблона, который выводит хтмл. Вас смущает хтмл или наличие пхп кода?
Мвц не просто разделяет "только код от только хтмл", он делит приложение на несколько относительно независимых частей, где:
модель отвечает за основную логику в объектах отдельных типов(например пользователь, изображение, товар), вот в них нет (не должно быть по уму) никаих хтмл разметок, чисто логика относящаяся к описываемой сущности.
контроллер отвечает за привязку урл и передаваемых данных к вьюшкам и шаблонам, создает объекты, выполняет их инициализацию с помощью пришедших данных и передает их в представление(читай в шаблон). Так же не должен содержать хтмл.
вид - максимально отделенный от логики шаблон разметки. Так как в него надо все же как то передать данные, конечно же он содержит код пхп, но он не содержит(в идеале) логики сложнее чем циклический вывод и проверки.
Ответ написан
coderisimo
@coderisimo
Во view вполне может быть немного php для вывода определенной информации или для подключения ресурсов. Главное , что в них не должно быть логики., а только то что нужно для представления.

Аналогичные вещи есть и laravel и в codeigniter )
Ответ написан
Комментировать
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
но где тут MVC? Такая же мешанина из кода и шаблона

Как одно у Вас связано с другим? Код что Вы привели это view, буква "V" из аббревиатуры MVC, которая подразумевает разделение логики на модели, view-шки и контроллеры. Вот Вы смотрите на view и Вас удивляет что в ней есть что-то кроме html? Есть и что? Как это противоречит принципу MVC?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы