搞不明白PHP为什么要使用Smarty:我是不是弱爆了?

要吃九个橙子 发布于 2014/07/18 18:15
阅读 9K+
收藏 2

今天有个同事走了,PHP部门的,主管要我接手他的项目(虽然不是做PHP的,但是PHP代码也能写),基本都是ThinkPHP写的,逻辑数据处理都能看明白但是看View的时候感觉好别扭,全是用的tpl模板,我就不明白为什么要用这东西,打电话问他嘛他非常不耐烦的说逻辑跟前台分离然后尼玛就挂了电话了,我就纳闷了ThinkPHP不是MVC框架么,求各路大神给指点指点到底为什么要用着玩意,用这东西总感觉好像脱了裤子放屁一样。


加载中
1
帖子列表
帖子列表

一句话: Smarty已经out了

又笨又重又难用,V里面还放那么多逻辑,说分离还分离个毛,对前端工作者不友好。OK,Smarty是不错,很强大,但是现在很多模板引擎都比这东西好用多了。

SimonYe
SimonYe
V 里面有逻辑是对的。 不建议直接写在V里面,而是用Smarty的自定义标签。
1
yunfound
yunfound

Smarty这东西就是放屁的,多此一举。

目前的mvc框架都可以抛弃它了。

任何自成一套模板语言的PHP模板,都是脱裤子放屁。

php本身就是一个模板语言,混合(php代码与html混合)模式性能超好,何须用各种正则处理为混合模式呢。

如果说模板引擎提供了大量标签库,骚年。你也可以写一套function,然后加载进来就可以直接在混合模式下使用了。。。

如果说到缓存html代码,骚年,mvc框架都有接口,直接在框架的display(框架输出html代码到客户端)这一点执行缓存策略就行了。

如果说到了模板的标签缩写,php同样可以使用短标记:

<html>
<body>
    <ul>
        <? foreach($this->data as $idx=>$item)?>
        <li><?=$item?></li>
        <? endforeach?>
    </ul>
</body>
</html>



0
Null--Null
Null--Null
这个很好理解啊,使用是为了很好的可阅读性,如果你不喜欢tpl,把tpl文件修改为html就可以了。如果你觉得加了模板,是 裤子放屁,强烈你放弃PHP,使用ASP做网站。
Null--Null
Null--Null
回复 @开源橙子 : JAVA使用框架对视图的要求分的更加细,你会提为什么TP会有模板???
要吃九个橙子
要吃九个橙子
PHP没有系统的学过,但是以前跟过两个项目,主要是java的 erp 跟 oa 还有asp.net外包有时会兼职下前端客串下项目经理
Null--Null
Null--Null
我弱弱的问一句,楼主你真的会写PHP代码吗。您是写什么程序的???
0
Tuesday
Tuesday
楼主是理论主义者..  招聘人才的公司请为楼主准备一份动口的工作.
0
雪梨苹果
雪梨苹果

mvc和vc区别。

tp自己带的模版是很好,他换smarty是为了更好的分开开发。所有人都会tp模版的话,用它最好的了。

还有smarty不out,不是所以框架都带有模版解析层的,很多国外框架都没有,他们都选择加上smarty进行开发的。

学smarty对你有好处的。

0
lxbzmy
lxbzmy
因为视图也是需要写的,视图也需要做if else判断来决定显示的是默认值还是实际值。
0
idea_biu
idea_biu
对于这种问题,我一般不回答
0
SimonYe
SimonYe

很多人误解了 MVC,认为必须严格的按照MVC,

MVC 只是一种设计方式,没必要钻牛角尖。

0
自由之信
自由之信

某国外友人是这样说的,The reason to use something like Smarty or Twig usually breaks down to allowing untrusted users to edit the template files, without risking php errors or mischievous behavior. 翻译过来就是,简单的说,就是对那些没有什么可信技术的用户而言,他们改的时候不会出现PHP错误等等,官方的意思是,Therefore, Smarty is commonly a good fit when the roles of developers and designers are separated. 翻译过来就是,简单的说,当开发者和设计师一起工作的时候,smarty有用了...楼主,其实你的疑问没错,不一定要用...

voov
voov
前端套模板。。
要吃九个橙子
要吃九个橙子
原来如此,是给前端用的啊 。。。
0
mark35
mark35

Smarty早淘汰了,还要专门学它的语法……


mark35
mark35
回复 @PHP开发工程师 : 有这个时间和精力去学它还不如MVC直接原生“模板”了。我是用宏哥推荐的那个模板,然后自己修改下,虽然功能没smarty强但够用好用了
假装在纽约
假装在纽约
那你解释下为什么淘汰了
返回顶部
顶部