php - 假模板引擎 php

标签 php template-engine

我有一个让 php 模板引擎变得快速且用户友好的想法,但我不确定它是好是坏。

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

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

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

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

用户友好

{title}

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

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

非常感谢您的回答。

最佳答案

这是许多不同模板库中的概念。即一些淡化的符号,例如 {varname} (相对于 <?=$varname?> )对于更熟悉 html 和 css 且对 php 知之甚少的人来说会更容易理解。

当然,许多这些系统也支持循环和条件符号,这对我来说引出了一个问题,它到底有多大区别?这些系统支持给定“标签”中某些类型的属性或参数的情况并不罕见。有很多库都接受这种简化表示法的想法,显然有些人认为非 PHP 语法更容易理解。

如果你想支持它们,就必须权衡为循环控制符号、条件等发明自己的符号。如果您的系统仅提供变量替换并且用于自定义电子邮件,那么这可能是一个非常好的主意。另一方面,如果您从这种水平的知识开始尝试重新发明 smarty 之类的东西,我建议您在深入了解自己的系统之前先了解一个或多个现有模板库,而不是只是从最终用户的角度来看,但也从库的实现(php 代码)角度来看。

也许您最终只是围绕 smarty 或其他一些模板库构建了一个很酷的 GUI?

关于php - 假模板引擎 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319202/

相关文章:

c# - 有哪些模板引擎可以在 Microsoft Word 中创建模板?

python - 我应该使用什么——Mako 还是 Django?

php - 如何将 $_FILES 绑定(bind)到 Phalcon 表单?

javascript - Express.js模板引擎,可以呈现JSON和未转义的字符串

emacs - Emacs 最好的代码模板工具是什么?

php - MySQL 和/或 PHP 中的加权方法

javascript - 如何在 knockout.js foreach 绑定(bind)中有条件地呈现 tr

php - 如何使用 PHP 获取时间值(与 Excel 中的 TIMEVALUE() 函数相同)

php - 通过 HTTP 发送大文件

PHP 不在 mySQL 数据库中插入内容 : Text, 图像,任何东西