最快的 PHP 模板引擎(或框架),支持多个站点的继承


Fastest PHP template engine (or framework) supporting inheritance for multiple sites

我需要在 PHP 中找到一个模板引擎和/或框架,让我使用一个模板发布一个网站,并通过制作一个子模板在同一服务器上的其他网站上重用该模板,其中我只覆盖父模板中的某些设计元素。

我正在寻找的是部署速度 - 我可以使用哪个模板引擎(需要 PHP)来最快地获取其他站点?

例如,我有针对不同类别的不同市场推出的网站。因此,我将创建一个作为主模板的英国网站模板,然后覆盖瑞典和法国市场的徽标和静态文本等详细信息。此外,对于不同的类别(例如男士时尚与女装),我需要覆盖某些设计元素的图像和颜色(如首页上的图片等)。

我需要启动的所有站点都基于相同的 API(RESTful JSON),我需要能够轻松集成用于搜索、排序和过滤的表单 - 因此模板引擎必须允许与变量轻松集成......

您建议哪种解决方案符合这些要求?

你也可以

看看Twig。以下是有关它的更多信息以及它与其他信息的比较:http://fabien.potencier.org/article/34/templating-engines-in-php

Simple -> Symfony

使用非常简单的模板引擎 - 并且易于学习,因为他们的文档是如此惊人

Hrm. 使用包和模板库"扩展"设置代码点火器 2,将模板文件放在单独的存储库中,并将它们作为每个"子站点"的包加载。如果您仔细定义您的区域,这应该是您需要做的所有事情:)

如果不是框架而是模板引擎,除了使用 Smarty 进行模板化之外,我想不出别的了。它易于使用且非常灵活。您可以创建一个主模板,例如 main.tpl输入一些变量,并通过为每个站点分配所需的值(例如 index.php(对于某些站点)来一遍又一遍地重用该模板:

$smarty->assign(array(
   'PageTitle' => 'Some site title'
   'CustomContent' => $smarty->fetch('custom.tpl'); // custom for this site
));
// of course you've setup the template location at this point
$MainTemplate = $smarty->fetch('main.tpl');
$smarty->display($MainTemplate);

main.tpl你会得到这样的东西:

// on main.tpl you'd have
<title>{$PageTitle}</title>
......
<body>
{$CustomContent}
</body>

只是一个想法:)

Zend 框架和设置不同的"站点"作为模块可能是一个很好的方法,如果它们共享很多逻辑等。每个模块都可以有独特的布局。

Zend 框架允许你使用 MVC 模式工作,并且可以轻松地分离逻辑和表示。您可以在 http://framework.zend.com/

我建议 http://agiletoolkit.org/,原因如下:

  • 内置和集成的组件级模板。CSS框架基于jQuery UI CSS和 960.gs。大多数框架在页面级别处理模板,这使得它们的可重用性降低。
  • 具有 AJAX 支持的开箱即用表单、不同形状的过滤器和 HTML/CSS 布局。UI 组件使用 MVC 或静态数组数据(这很容易与 JSON 一起使用)。大多数框架不提供 HTML 表单。此外,生成器通常只会将 UI 元素与模型集成。
  • 面向对象的组件方法从"视图对象"构建站点,您可以在多个站点之间共享这些对象并与不同的模型合并。页面也定义为类。这意味着您可以有 2 个页面,其中包含共同的祖先和微小的更改。如果你知道OOP,它就会成为一个强大的功能。大多数框架需要单独的安装,共享组件更加困难。此外,大多数框架需要每页单独的模板。
  • 解决方案更加轻量级,面向高效开发和集成。相比之下,zend专注于组件独立性。占地面积小,速度更快是直接结果。

敏捷工具包是开源的。

我希望这些信息能带来一些新的见解,并从不同的角度看待发展。我积极使用框架,文档目前不完整且正在建设中,但该架构非常有前途,只需要了解一些PHP和面向对象的编程技能。