作为我正在开发的一个大学项目(基于自定义MVC的项目管理系统)的一小部分,我需要开发一个模板引擎。我不想使用像Smarty这样的自我系统,因为我自己编写了项目的所有其他部分,现在不想再回头了。定制PHP模板引擎
无论如何,我已经成功地编写一些简单的,到目前为止,我有一个类,创建它的一个实例,一些数据添加到实例,然后传递一个模板文件。该文件具有一系列标签,例如{this},然后替换为数据。简单。
我遇到的问题是,当涉及到循环的东西 - 即用户的表或类别的列表。目前,我有一个页面模板文件(users.html),其中包含开始和结束标记,并在它们之间有一个名为{users}的模板标记。然后我有另一个模板文件(users-detail.html),它显示一个包含用户信息的表格行。我正在创建一个users-detail.html模板的新实例,添加数据,解析它,然后将输出(HTML的字符串)到数组中。然后,我循环这个数组,将所有字符串连接在一起,然后将其分配给users.html模板文件中的{users}标记。
正如你可能从这个解释中得知的那样,它有点不稳定,并且可能有更好的方法来完成我试图实现的目标。理想情况下,我希望尽可能避免在模板文件中使用PHP,并且我经常需要在一个模板文件中有多个循环。
如果任何人有任何关于如何实现这一点的提示/建议,或任何教程,我可以按照获得一些灵感,将不胜感激。
在此先感谢。
查看h2o模板的源代码 - https:// github。com/speedmax/h2o-php - 应该帮助你在路上 – kieran
为什么不看看现有的模板引擎的代码,你有什么需要并从中学习?什么比实际例子更好? – hakre