Smarty 3.1.24 发布,PHP 模板引擎 - 开源中国社区
Smarty 3.1.24 发布,PHP 模板引擎
taozishow 2015年06月04日

Smarty 3.1.24 发布,PHP 模板引擎

taozishow taozishow 发布于2015年06月04日 收藏 12 评论 35

有免费的MySQL,为什么还要买? >>>  

Smarty 3.1.24 新功能:bug修复和改进,最值得注意的是,编译速度比上一版本提高30-40%!

smarty 是一个基于PHP开发的PHP模板引擎。它提供了逻辑与外在内容的分离,简单的讲,目的就是要使 用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中 显的尤为重要。


本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Smarty 3.1.24 发布,PHP 模板引擎
分享
评论(35)
最新评论
0

引用来自“eechen”的评论

SSDB作者是这样说的:
http://www.ideawu.net/blog/archives/828.html
不要"创造"所谓的模板语言
PHP 语言本身就是模板语言, PHP 做模板语言对于 PHP Web 来说是最完美的, 可维护性和培训成本最佳的语言, 只需要再多说一两句话规范即可: 仅使用 echo 及允许的帮助 echo 的函数, 和 if/for/while. 我十年前不认同 smarty 这类模板工具的意义, 十年后也不认可这类毫无意义的寄生于 PHP 的工具.

引用来自“宏哥”的评论

你说的还算靠谱, 实际上, 只要简化 双引号的 处理就够了。所以我用vemplator改进版

引用来自“mark35”的评论

vemplator,在模板中执行函数时,如果函数有两个参数,第二个参数是数组下标格式,那么就有点问题。并且参数之间不能有空格。一直没时间去修改
我给你一个升级版本的
0

引用来自“eechen”的评论

SSDB作者是这样说的:
http://www.ideawu.net/blog/archives/828.html
不要"创造"所谓的模板语言
PHP 语言本身就是模板语言, PHP 做模板语言对于 PHP Web 来说是最完美的, 可维护性和培训成本最佳的语言, 只需要再多说一两句话规范即可: 仅使用 echo 及允许的帮助 echo 的函数, 和 if/for/while. 我十年前不认同 smarty 这类模板工具的意义, 十年后也不认可这类毫无意义的寄生于 PHP 的工具.

引用来自“宏哥”的评论

你说的还算靠谱, 实际上, 只要简化 双引号的 处理就够了。所以我用vemplator改进版
vemplator,在模板中执行函数时,如果函数有两个参数,第二个参数是数组下标格式,那么就有点问题。并且参数之间不能有空格。一直没时间去修改
0
smarty作为最经典的一款模板引擎,堪称模板界的鼻祖,目前流行的模板引擎无都是借鉴smarty的工作原理,如果你用模板引擎推荐使用smarty
0
Smarty最终生成的仍是原生PHP,确是给很多场合带来便利,如果您觉得不够高大上了,大可有自己的一套,没有任何人要求你一定要用它。
0

引用来自“倪倪”的评论

还弄一串代码上来喷的,你们的数据操作,业务逻辑代码呢?难道你们平时只有一些=,if什么的吗?

引用来自“MrBighost”的评论

数据操作和业务逻辑代码应该落在视图层吗?
之前的人是在讨论PHP-Web项目的视图层有没有必要使用模板引擎。
对应没接触过php和模板引擎的前端来说,模板引擎会比原生php的几种视图层用到的语法简单多少?
smarty这种我觉得还算可以接受的,至少模板拿出来一眼看去知道是模板;我现在项目在用thinkphp,他自带的模板引擎感觉很作,使用dom标签的形式,关键是项目里很多人很多地方在标签里嵌套tp模板标签,这样真的好么:
<span <eq name="key" value="1">class="checked"</eq> >
那你视图数据怎么来的?不还是要通过类似的方法映射过来吗?要不你是怎么分的层。别跟我说你自己弄个所谓的原生,那个不叫模板引擎
0
我的观点:
PHP-Web项目的视图层,使用原生PHP也许是更好的选择

另外,视图层使用原生PHP ≠ 逻辑不分层\全整在一起
视图层本该只涉及到一些简单的流程控制、变量输出,这种需求下,原生PHP相对模板引擎的学习成本和使用成本都不落下风
0

引用来自“倪倪”的评论

还弄一串代码上来喷的,你们的数据操作,业务逻辑代码呢?难道你们平时只有一些=,if什么的吗?
数据操作和业务逻辑代码应该落在视图层吗?
之前的人是在讨论PHP-Web项目的视图层有没有必要使用模板引擎。
对应没接触过php和模板引擎的前端来说,模板引擎会比原生php的几种视图层用到的语法简单多少?
smarty这种我觉得还算可以接受的,至少模板拿出来一眼看去知道是模板;我现在项目在用thinkphp,他自带的模板引擎感觉很作,使用dom标签的形式,关键是项目里很多人很多地方在标签里嵌套tp模板标签,这样真的好么:
<span <eq name="key" value="1">class="checked"</eq> >
0
看过稍微大一点纯php写的项目,你就会知道mvc分离是多么重要了,处理层也直接写显示层上,而且分位置,分地方写的,一个页面能把你看傻,再加上多人开发,习惯不一样,写的时候是有效率,就不用考虑维护了?就是自己写的代码,可能过三个月你自己都分不清自己当时是怎么写的了。
0

引用来自“kideny”的评论

模板引擎是给不懂程序的前段用的
错了,给小公司用的,大公司,没有前端搞什么smarty,不如不用
0
请大家理性讨论,smarty之所以还能存在充分说明了它有一定的合理性。如果一个人开发既是后台又是前端当然没有必要用模板引擎,但如果是中大型项目模板引擎的思路还是有用的,分工更合理,网站结构也更灵活清晰。
0
还弄一串代码上来喷的,你们的数据操作,业务逻辑代码呢?难道你们平时只有一些=,if什么的吗?
0
虽然慢,但是好看(我尤其不喜欢尖括号嵌套:)
0
还有人用?
0
还是更喜欢twig
0
照你们这么说,MVC分出是没什么意义的,全整一块最合理,一群喷子,继续。
0
我只能说这玩意儿难用至极!!!
0
还没死…
0
这货还没死呀···
一点都不好用呀,而且增加学习成本。php本身就是模版语言,至始至终就是可以php和html混排的语言
0

引用来自“hmh”的评论

不明白为什么要在PHP上用这东西,
有人说是给不懂程序的前端用。 可是类似下面差别很大吗?
{value}
<?=$value?>

{if value}
{/if}
<?php if($value):?>
<?php endif; ?>

引用来自“上帝未满18岁”的评论

@if($val)
@endif
我喜欢这样的,少写好多单词。
<? if($value):?>
<? endif; ?>
0
这货怎么还没死?10几年就用它了,麻烦,不靠谱。
顶部