Какой самый быстрый способ получить базовые шаблоны в PHP, например, Struts Tiles? - PullRequest
2 голосов
/ 29 января 2010

Я новичок в PHP и ищу то, что обычно делаю с плитами Struts в JSP. Я ищу что-то вроде:
Template.php:

<html><body>
 <div class="header"></div>
 <div class="contents">
  <#insert sectionName="pageContents">
 </div>
</body></html>

content.php:

<#template name="Template.php">
 <#section name="pageContents">
  <div>
   <?php doSomething(); ?>
  </div>
 </#section>
</#template>

Так, что запрос Content.php возвращает содержимое Content.php, включенного в Template.php соответствующим образом. Я ищу самое быстрое решение с точки зрения минимального времени установки / настройки.

Ответы [ 4 ]

3 голосов
/ 29 января 2010

Я думаю, Smarty может быть немного излишним в вашем случае, так как вы запрашиваете базовые шаблоны PHP.

Вы можете взглянуть на статью Лердорфа о MVC-фреймворке без фреймворка или воспользоваться одним из следующих шаблонизаторов:

  • PHPTAL (хотя некоторые аспекты синтаксиса PHPTAL находятся на грани безумия)
  • Twig
  • Savant3

Не зная ничего о Struts, я думаю, что сначала проверю Twig. Хотя это довольно новый проект, я думаю, что в нем есть несколько действительно интересных функций, которые могут вас заинтересовать.

3 голосов
/ 29 января 2010

Посмотрите на Smarty: Template Engine

2 голосов
/ 29 января 2010

Вы можете использовать любое количество систем шаблонов php, но я бы порекомендовал использовать собственные возможности php. Там нет дополнительных накладных расходов на производительность и ничего для установки или настройки.

Например, чтобы имитировать приведенный выше пример, вы можете сделать что-то вроде:

Template.inc:


<html><body>
 <div class="header"></div>
 <div class="contents">
  <?php print $pageContents
  //Or if your php installation supports short tags
  //<?=$pageContents?>
  ?>
 </div>
</body></html>

content.php


<?php
  $something = doSomething();

  $pageContents = <<<CONTENT

<div>
  $something
</div>

CONTENT;

  include "template.inc";

Конечно, есть много других способов выполнить приведенный выше пример. Это еще один плюс использования собственных возможностей - вы можете организовать и настроить собственную систему шаблонов так, чтобы она работала так, как вы предпочитаете.

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

Лично я обнаружил, что каждый шаблон PHP излишним. Цена обучения и поддержания шаблонного движка слишком высока. Часто это гораздо проще сделать в PHP с включенными короткими тегами (в стиле ASP), если вы в этом заинтересованы.

Если вы хотите, вы можете обернуть шаблоны PHP в простой класс самостоятельно или использовать это:

Все еще хотите «настоящий шаблон»? Проверьте H2O, это выглядит хорошо (но я все еще думаю, что это излишне)

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...