文档章节

在PHP框架中需要使用smarty模板吗?

justjavac
 justjavac
发布于 2012/09/03 15:26
字数 537
阅读 613
收藏 1

在 java 开发中使用模板已经习以为常了,很多人讨厌 java web 开发栈中的 JSP,虽然 sun 公司推出了 JSF,但总感觉出来的不是时候,一直也没有怎么用过。在 java 网站开发教程中,SSH 中的两大框架 Struts 推荐使用 Velocity,而在 Spring 中则推荐使用 freemarker。甚至在前端语言 javascript 中都出现了各种各样的模板引擎。

在 PHP 的轻量级框架 CodeIgniter 中,明确写明:

注意:因为在视图文件中使用纯 PHP 要快一些,所以 CodeIgniter 不要求你一定要用这个类。然而,有一些开发者和对使用 PHP 有困难的设计师一同工作时,更愿意使用模板引擎。

模板是框架发展的新方向吗?使用 Smarty 呢,还是自己手写模板,或者用框架自带的。

我不少开发者认为:“就用 CI 的模板,我觉得 CI 这样的模版方式很爽”。

“模版自己写!”。

还有人觉得不应该使用模板,这些开发者主要是考虑到性能。

“最具性能的模板就是不要模板,直接 echo”。

但是,使用模板也不一定就达不到性能,“我是直接生成 html,大些的项目有必要生成一个”。

模板的坚持使用者们还给出了其它理由:

“这个改变不影响模板设计者,内容仍将准确的输出到模板。同样的,哪天美工吃多了想要完全重做界面,也不会影响到程序逻辑。这是 smarty 手册里面的原话。模板也有他的好处。代码逻辑和页面分明。”

也有人抱怨模板:用模板,感觉会写很多无用的代码。其实,只要是为了实现功能的代码,都有用。

最后,一首对联献给程序员们:

上联: 为系统而生,为框架而死,为 debug 奋斗一辈子 

下联: 吃符号的亏,上大小写的当,最后死在需求上! 

横批: 杯具程序员。

© 著作权归作者所有

共有 人打赏支持
justjavac

justjavac

粉丝 315
博文 149
码字总数 189426
作品 3
南开
加载中

评论(3)

calvinwilliams
calvinwilliams
推荐一个优美的轻量级php模板引擎phptpl,比smarty好用多了。
justjavac
justjavac

引用来自“chengtech”的评论

对联牛逼

牛逼的对联,苦逼的程序员
OSC老司机
OSC老司机
对联牛逼
Smarty模板引擎全教程

Smarty模板引擎全教程 前面已经介绍了在SpeedPHP框架中使用Smarty模板引擎的方法,下面我们来更详细地介绍Smarty的使用方法。 本章是对Smarty常用的一些功能进行了详述,让您在最短的时间内掌...

云栖希望。
2017/12/10
0
0
Smarty前端模板引擎 - 我看过的PHP开源框架

Smarty Smarty可以说是我接触PHP这门语言用到的第一个开源框架,当时在Smarty的帮助下,很好地完成了项目的开发,也很好地遵循了MVC的模式。但是到了后来,慢慢地发现,很多人都很熟悉Smart...

暗夜在火星
2014/12/25
0
0
[IBM DW] 使用 Smarty 开发 Ajax 应用

简介: Smarty 是一个 PHP 模板引擎,它可以帮助您将 Web 应用的业务逻辑与表示层分离。Smarty 目前没有内置的 Asynchronous JavaScript and XML (Ajax) 支持,但是您可以轻松地扩展它的插件...

红薯
2010/11/16
650
1
ThinkPHP框架使用Smarty模板引擎

最近公司使用ThinkPHP框架,所以比较关注,想到之前公司使用的框架用的模板引擎是 Smarty,而且用的还挺顺手的。 转到使用ThinkPHP自带的模板引擎还有点不习惯,所以在想换成Smarty模板引擎,...

zyt_1978
2016/04/17
31
0
构建mvc框架学习

做了那么久PHP开发,开始尝试去做一个简单的mvc框架。 一、首先确定目录结构 由于不太想弄得太复杂的结构,因此,将所有的目录存放于libs中,项目根目录只留一个index.php以及config.php,形...

AlpherJang
2016/03/03
89
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
27
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部