1 stevenhawking 2019-02-15 23:51:16 +08:00 yes |
![]() | 2 agdhole 2019-02-15 23:54:40 +08:00 推荐 blade |
![]() | 3 joyqi 2019-02-15 23:56:49 +08:00 twig |
4 dot2017 2019-02-15 23:56:54 +08:00 很久的模版引擎了啊,印象里 php 4 时代的经典 |
![]() | 5 Mac 2019-02-16 00:17:37 +08:00 via Android 现在都在搞前后端分离,性能和功能都跟不上了呗 |
![]() | 6 westoy 2019-02-16 00:24:16 +08:00 嗯,15 年前流行过, 之前是 phplib, 之后是 smarttemplate, 遥远的记忆啊....... |
![]() | 7 jjplay 2019-02-16 02:09:51 +08:00 上古时期的,如上所说,现在用 blade twig |
8 SimbaPeng 2019-02-16 03:21:13 +08:00 php 本身就是模板语言,看看 yii |
![]() | 10 vanishcode 2019-02-16 07:27:28 +08:00 via Android 虽然比较反感,但是百度 wise 有些业务里还在用的,比如多模那边。不过正在逐渐迁移到自己的轮子上 |
![]() | 11 xiaotuzi 2019-02-16 07:54:14 +08:00 via iPhone 用正则自己写一个…我就自己写了一个模板引擎…那是相当简单,自己写的模板引擎可以自己定义任何规则。 |
![]() | 12 askfilm 2019-02-16 08:31:46 +08:00 twig +3 |
![]() | 14 wuxi889 2019-02-16 09:07:58 +08:00 thinkphp 表示现在还是用的 smarty |
15 chniccs 2019-02-16 10:13:58 +08:00 都不前后分离的么 |
![]() | 17 puritania 2019-02-16 10:26:57 +08:00 via iPhone 现在微服务时代一些讲究设计模式优雅的框架带来的作用越来越小,前后端分离的广泛应用使得这些什么模板引擎也越来越鸡肋。 |
![]() | 18 GuangXiN 2019-02-16 11:39:24 +08:00 via Android 当年 php 要输出 html 所以用模板引擎,现在 php 就输出个 json 用什么模板引擎 |
![]() | 19 jay4497 2019-02-16 11:47:51 +08:00 tp 用的貌似自己改良的 smarty。其它的知道的比较现代的模板引擎 twig、blade 跟 plates。 |
20 mrytsr 2019-02-16 15:13:07 +08:00 via Android plates |
![]() | 21 xiaotuzi 2019-02-16 17:58:31 +08:00 via iPhone @legendnan 利用正则,匹配模板标签,转换为 PHP 标签,然后将解析好的文件引入到系统最后 display 显示出来。这很简单,关键在于匹配正则标签 |
![]() | 22 slion 2019-02-16 23:39:04 +08:00 自学 PHP 时学习过 smarty 模板引擎,可惜在工作中从来没有用过,貌似这个的确是很古老的产品了,现在都是前后端分离了。像 thinkPHP,laravel 都有自己的模板引擎,也没有必要引入 smarty 了。 |
![]() | 23 topthink 2019-02-17 12:41:12 +08:00 |
![]() | 25 topthink 2019-02-17 18:04:27 +08:00 |
![]() | 28 slince 2019-02-21 12:10:16 +08:00 tp 的模板引擎,blade 都是基于正则替换实现的半吊子模板引擎;有完整词法解析器和抽象语法树的我知道的只有 smarty 和 twig,只不过 smarty 太久远,历史包袱太重;推荐 twig,和 python 的 jinja 用法都是一致的 |
![]() | 29 dvaknheo 2019-03-16 22:46:25 +08:00 smarty 也是替换编译的。smarty 用来解决不允许模板里出现 php 代码的问题是杀鸡用牛刀。 phpwind 的 EOF 方式或许会好些。 我写过一个无人关注的 解析 xml 的模板引擎 tagfeather,让页面人员和代码人员各工作在不同文件,然后用 选择器等方式拼合起来。解决了 动态页面还得由开发去改的问题。 |