Лучший способ разместить данные в представлении (MVC) - PullRequest
0 голосов
/ 05 января 2010

В рамках, с которым я работаю, если я хочу представить данные в виде, я делаю это:

<h1><?php echo $this->header ?></h1>

Недавно я обнаружил xTemplate и заметил, что он использует строковые заполнители, поэтому приведенный выше код в xTemplate будет:

<h1>{HEADER}</h1>

Я всегда думал, что немного php в представлении было в порядке и также быстрее, чем выполнение str_replace, но я недавно начал работать с дизайнером, и я думаю, что многие из php-тегов в html могут его запутать.

Мне бы хотелось узнать ваши мысли на эту тему.

Спасибо.

Примечание: это может быть субъективно, но я действительно хочу найти лучший способ или хотя бы узнать все плюсы и минусы обоих этих подходов.

Ответы [ 2 ]

8 голосов
/ 05 января 2010

PHP разработан как язык шаблонов. Я не вижу смысла в создании шаблонизаторов над шаблонизатором.

Сравнить

 Hi, <b><?=$username?></b>

 Hi, <b>{username}</b>

Первый вариант действительно сложный?

Если вы попробуете Smarty, вы будете очень удивлены, насколько сложным это . Это чистое ЗЛО: http://www.smarty.net/manual/en/language.function.foreach.php

 {foreach name=outer item=contact from=$contacts}
   <hr />
   {foreach key=key item=item from=$contact}
     {$key}: {$item}<br />
   {/foreach}
 {/foreach}

Проще ли читать, чем foreachs PHP? Не смеши меня.

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

1 голос
/ 05 января 2010

Интересный вопрос. Я не знаю, насколько смущен дизайнер, видя в PHP следующие преимущества:

  • Вам не нужно изучать другой синтаксис (язык шаблонов)
  • PHP достаточно гибок, чтобы делать все (хотя, конечно, НЕ следует делать все) в шаблоне
...