假模板引擎PHP

时间:2012-11-10 04:19:54

标签: php template-engine

我有一个想法,让PHP模板引擎快速和用户友好,但我不确定它是好还是坏。

这个想法是创建一个虚假的模板引擎: 在控制面板中创建模板编辑器,让用户看到如下内容:

<html>
  <head>
   <title>{title}</title>
  </head>
  <body> {content} </body>
</html>

编辑器实际上做的是替换所有的PHP代码,如

<?php echo $this->title; ?>

用户友好

{title}

但是当用户保存模板时,它并没有真正在视图中替换它 模板实际上保存为快速纯PHP模板。

问题是这个好主意还是坏主意?

非常感谢您的回答。

2 个答案:

答案 0 :(得分:1)

这个想法并不坏,也可能不是新的。我一直很喜欢纯PHP作为模板引擎。在我的诚实意见中,你想让它看起来更加用户友好的想法是一个不错的选择。 但这正是你的问题的问题:它是主观的。如果您设法制作控制面板,那么选择隐藏PHP或不在视图中隐藏PHP只是风格和个人意见的问题。

祝你好运。

答案 1 :(得分:1)

这是许多不同模板库中的概念。也就是说,对于那些更熟悉html&amp;的人来说,{varname}(与<?=$varname?>相比)有一些淡化的符号。 css,很少或根本不知道php会更容易理解。

当然,很多这些系统也支持循环和条件符号,这对我来说是个问题,它真正有多大区别?在给定的“标签”中看到这些系统支持某种类型的属性或参数并不罕见。有很多库都采用了这种简化符号的概念,显然有些人认为非php语法更容易理解。

如果您想支持它们,必须为循环控制符号,条件等等创建自己的符号。如果您的系统仅提供变量替换,并且例如用于自定义电子邮件,则可能是一个非常好的主意。另一方面,如果你开始尝试重新发明像smarty这样的知识水平,我建议你先深入一个或几个现有的模板库,然后再深入到自己的系统中,而不是仅从最终用户的角度来看,但也在库的实现(php代码)中。

也许你最终会围绕smarty或其他模板库构建一​​个很酷的GUI?