PHP的HTML模板语言
我正在用简单的模板集成制作php内容管理系统,但我找不到任何好的模板语言。目前我正在使用xml模板,并使用PHPDOM解析它们。以下是模板的外观:PHP的HTML模板语言,php,html,templates,Php,Html,Templates,我正在用简单的模板集成制作php内容管理系统,但我找不到任何好的模板语言。目前我正在使用xml模板,并使用PHPDOM解析它们。以下是模板的外观: <div class="one_fourth"> <h4 class="section-header"><span><CMS_STRING type="string" name="title" title="Title" /></span></h4> <p&
<div class="one_fourth">
<h4 class="section-header"><span><CMS_STRING type="string" name="title" title="Title" /></span></h4>
<p><CMS_STRING type="string" name="body" title="Body text" tooltip="" /></p>
<p><CMS_STRING type="link" name="link" title="Link" /></p>
</div>
在php中,我用DOM getElementsByTagName解析所有CMS_字符串标记,然后为访问者从数据库中提取值,或者为管理员生成可编辑的输入
xml的一个问题是我不能在属性中使用标记,例如:
<a href="<CMS_STRING name="url" />"></a>
另一个问题是php DOM引号转义。它看起来很丑,不可读。假设我想将JSON放在本地化标题的属性中:
<CMS_STRING type="string" name="title" title="{"enUS":"Title","enGB":"Title"}" />
那么我在这里还可以使用什么样的模板语言呢?我还需要它来支持xml(例如获取CMS_字符串内部html)。我发现的所有模板语言都是用缓存引擎和其他我不需要的东西预先制作的。我只需要一个带解析器的简单语言,我会自己处理其他事情
谢谢。请说出一些您看过但无法使用的,这样我们就不会一直建议重复。你看过吗?这是伟大的,听起来它可以满足您的需要
是的,Smarty有缓存,但您不必启用它。您将获得的唯一结果文件是模板的编译版本,但这只是为了提高效率,您可以禁用模板缓存(以换取性能)。请说出一些您查看过但无法使用的文件,这样我们就不会一直建议重复。你看过吗?这是伟大的,听起来它可以满足您的需要
是的,Smarty有缓存,但您不必启用它。您将获得的唯一结果文件是模板的编译版本,但这只是为了提高效率,您可以禁用模板缓存(以换取性能)。使用。你的生活会变得更好、更快乐、更简单、更快,你周围的人会感谢你的子孙后代,世界各地的小狗和小猫会死得更少,全球变暖甚至可能会稍微慢一点。使用这个工具。你的生活会变得更好、更快乐、更简单、更快,你周围的人会感谢你一代又一代,世界各地的小狗和小猫会死得更少,全球变暖甚至可能会放缓一点。有很多模板系统可用,当然还有PHP本身 我喜欢一个实际的模板系统,而不是使用普通的老PHP,如果你不熟悉MVC设计模式,它会迫使你做它的VC部分,并教会你它的重要性。。。我这么说是因为你仍然可以用它们来做商业逻辑,但它们通常会让你感到困难,并使你泄气
我相信所有内置缓存的系统在执行方面都应该和普通php脚本一样快。有很多模板系统可用,当然还有php本身 我喜欢一个实际的模板系统,而不是使用普通的老PHP,如果你不熟悉MVC设计模式,它会迫使你做它的VC部分,并教会你它的重要性。。。我这么说是因为你仍然可以用它们来做商业逻辑,但它们通常会让你感到困难,并使你泄气 我相信所有内置缓存的模板引擎在执行方面都应该和普通php脚本一样快。流行的模板引擎:
- (过时)
- (主要由社区使用)
- (主要由社区使用)
- (此模板引擎的官方实现有二十多种编程/脚本语言)
- (过时)
- (主要由社区使用)
- (主要由社区使用)
- (此模板引擎的官方实现有二十多种编程/脚本语言)
我倾向于,主要是因为它有、、等。它允许您使用相同的前端和后端模板,这对于首先在后台呈现并在更新时在前台重新呈现的小部件非常有用。您可能想试试mustache?我需要的是与大多数小部件不同的模板语言。请看下面的smarty解决方案注释。您可能想试试Mustach?我需要的是与大多数模板语言稍有不同的模板语言。看看下面的smarty解决方案注释。smarty的问题是它接受php变量并将其放入模板中,而我在加载模板时没有任何变量。我所做的是找到所有cms字符串并根据处理它的类型加载插件。我还应该注意到模板是嵌套的,同一个模板可以存在多次,但数据不同。Smarty中不必有任何变量。它可以是纯HTML或带有占位符的HTML。您还可以使用不同的数据渲染同一模板,次数可以根据需要而定。我看不出它为什么不能做你想要的。我同意@drew010。我用的是smarty,虽然一开始我不喜欢它,但现在我绝对喜欢它。我想我们彼此都不了解。我需要的是模板解析器而不是模板