smarty 是不是不行了?

2019-02-15 23:46:32 +08:00
 legendnan
我看官网很久很久没有更新了。最近用到 php 百度说这个不错。是不是模板引擎已经不用了?
9181 次点击
所在节点    PHP
29 条回复
xiaotuzi
2019-02-16 17:58:31 +08:00
@legendnan 利用正则,匹配模板标签,转换为 PHP 标签,然后将解析好的文件引入到系统最后 display 显示出来。这很简单,关键在于匹配正则标签
slion
2019-02-16 23:39:04 +08:00
自学 PHP 时学习过 smarty 模板引擎,可惜在工作中从来没有用过,貌似这个的确是很古老的产品了,现在都是前后端分离了。像 thinkPHP,laravel 都有自己的模板引擎,也没有必要引入 smarty 了。
topthink
2019-02-17 12:41:12 +08:00
@wuxi889
@jay4497 TP 什么时候用的 smarty 了,TP 的模板引擎参考自 Struts 不能因为看起来用法类似就说是参考 Smarty
agdhole
2019-02-17 14:55:03 +08:00
@topthink #23 tp 的模板引擎写起来太啰嗦了,不如 blade 之类的简洁
topthink
2019-02-17 18:04:27 +08:00
@agdhole 希望指教 TP 的模板引擎其实有两种语法 下面的语法还有更简洁的用法?
~~~
{foreach $list as $key=>$vo }
{$vo.id}:{$vo.name}
{/foreach}
~~~
何况简洁不是评判模板引擎的唯一标准的
jay4497
2019-02-18 08:00:26 +08:00
@topthink 不好意思,想当然了,抱歉。
wuxi889
2019-02-18 10:39:51 +08:00
@topthink 尴尬了,我只是看 tp 模板引擎很像 smarty。再去看了下源码确实不是,误会误会,不好意思
slince
2019-02-21 12:10:16 +08:00
tp 的模板引擎,blade 都是基于正则替换实现的半吊子模板引擎;有完整词法解析器和抽象语法树的我知道的只有 smarty 和 twig,只不过 smarty 太久远,历史包袱太重;推荐 twig,和 python 的 jinja 用法都是一致的
dvaknheo
2019-03-16 22:46:25 +08:00
smarty 也是替换编译的。smarty 用来解决不允许模板里出现 php 代码的问题是杀鸡用牛刀。
phpwind 的 EOF 方式或许会好些。

我写过一个无人关注的 解析 xml 的模板引擎 tagfeather,让页面人员和代码人员各工作在不同文件,然后用 选择器等方式拼合起来。解决了 动态页面还得由开发去改的问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/535498

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX