如何在PHP5中实现模板继承(如Django?)

ano*_*ard 11 php model-view-controller templates template-inheritance

是否有一个现有的好例子,或者如何创建一个支持PHP5中的"模板继承"的基本模板系统(思考MVC)?

有关我定义为模板继承的示例,请参阅Django(用于Web开发的Python框架)模板文档:http://docs.djangoproject.com/en/dev/topics/templates/#id1

我特别喜欢PHP本身是"模板语言"的想法,尽管它不一定是必需的.

如果列出实施"模板继承"的现有解决方案,请尝试将答案形成为单独的系统,以利于"普遍投票".

ars*_*haw 17

很抱歉找到一个旧线程,但我刚刚发布了一个在本机PHP中进行模板继承的库.非常灵感来自Django.请检查一下,让我知道你的想法:

"PHP模板继承"

http://arshaw.com/phpti/

  • 由于它不再维护,你知道任何替代方案吗?谢谢. (2认同)

nai*_*rbv 8

Soulmerge给出的答案与模板继承无关.

就个人而言,我认为模板继承很棒,这是我第一次看到有人抱怨它.

phpti是前面提到的一个选项,但它对我来说看起来有点难看.

您可能需要考虑支持模板继承的mustache(mustache.github.com),并且具有多种语言(包括php)的实现.要在PHP中使用小胡子模板,您可能希望编写某种类型的控制器来读取小胡子文件并处理它们.


sou*_*rge 0

PHP 语言本身就是为这些任务而设计的,[不幸的是]随着时间的推移,它的能力越来越强,从这种简单语法开始的人们开始使用这种奇怪演变的语言来实现越来越复杂的任务。

我认为模板继承的意思最好表达为 PHP 中的动态文件包含,就像这样简单

<? require $content ?>
Run Code Online (Sandbox Code Playgroud)