文档章节

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

justjavac
 justjavac
发布于 2012/09/03 15:26
字数 537
阅读 609
收藏 1
点赞 0
评论 3

在 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

粉丝 313
博文 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
[IBM DW] 使用 Smarty 开发 Ajax 应用

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

红薯
2010/11/16
650
1
Smarty前端模板引擎 - 我看过的PHP开源框架

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

暗夜在火星
2014/12/25
0
0
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
自定义框架 使用smarty的一个问题

自己写一个小框架, 每次在Indexcontroller.php中使用$this->display()是,都会报错 unlink(Storage/Compile/Home/Index%%33^33F^33FC67E8%%Login.html.php): No such file or directory. unli......

manbudezhu
2016/06/08
178
1
PHP 模板引擎SMARTY 原理

一、MVC需要模板 MVC最早是在SmallTalk语言的开发过程中总结出的一种设计模式,MVC分别代表了"模型"、"视图"和"控制",目的就是让不同的开发角色在大中型项目中各司其职。在网络应用程序的开...

酒肉穿肠过
2013/09/25
0
0
[转]SMARTY模板中如何使用get,post,request,cookies,sessio...

SMARTY模板中如何使用get,post,request,cookies,session,server变量 {$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量。例...

GavinTop
2013/09/24
0
0
Smarty中文手册,Smarty教程,Smarty模板的入门教材

Smarty中文手册,Smarty教程,Smarty模板的入门教材 Smarty - the compiling PHP template engine 点这里收藏此教程 本教材网址: http://www.hbcms.com/main/smarty/ Copyright © by ispi of......

晨曦之光
2012/03/09
426
0
Smarty在应用程序逻辑层的使用步骤

第一步:加载Smarty模板引擎,例如:require("Smarty.class.php");。 第二步:建立Smarty对象,例如:$smarty=new Smarty();。 第三步:修改Smarty的默认行为,例如:开启缓存机制、修改模板...

virhuiai
2013/03/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

android屏幕适配

android屏幕适配 采用的是鸿阳的适配方式,项目依赖: compile 'com.zhy:autolayout:1.4.5' 使用步骤: 在manifest文件中标注你的设计图尺寸 <meta-data android:name="design_width" andro...

android-key
10分钟前
0
0
istio 0.8 安装步骤

============================ istio 0.8 安装步骤--------------------------------------- istio 0.8 安装步骤 1.安装k8s环境 参考:http://sealyun.com/pro/products/ master,salve两台机......

xiaomin0322
12分钟前
2
0
tmux 退出不干净问题

tmux ls 已经没有窗口了,但是显示还有在登入 只有强制T下线了。

NLGBZJ
12分钟前
0
0
卡辛斯基的警告

卡辛斯基的警告 作者: 阮一峰 1、 1978年5月25日,美国西北大学的工程教授巴克利·克利斯(Buckley Crist),收到了邮政局退回的一个包裹。 这个包裹寄往芝加哥大学,但是收件人“查无此人”...

祖冲之
13分钟前
1
0
如何一周内学会编程?实战项目中总结经验[图]

如何一周内学会编程?实战项目中总结经验[图]: 我知道有很多草根肯定都是日常有很多各种各样,自己认为非常有价值的想法,但是,苦于自己没有技术,无法实现自己的需求,典型的属于“就差一...

原创小博客
18分钟前
0
0
UILabel和UITextView文字换行差异

多行文本换行时,一般要求结尾如果是标点符号,标点符号不能单独占一行,需要将上一行的最后一个文字将和标点符号一起放在下一行。 设置 lineBreakMode = .byWordWrapping,按单词分割换行。...

十八郎
20分钟前
0
0
C++ 使用TinyXML解析XML文件

读取和设置xml配置文件是最常用的操作,TinyXML是一个开源的解析XML的C++解析库,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便...

LoSingSang
23分钟前
0
0
cron-chkconfig-systemd-unit-target

任务计划cron: /etc/crontab #任务计划配置文件 格式: 分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-6or1-7) 用户 命令 /var/spool/cron/[username] #各个用户配置的任务历史 配置...

ZHENG-JY
24分钟前
0
0
Java反射和动态代理学习

一、Java在运行是识别对象和类的信息,主要有两种方式:一种是传统RTTI,假定在编译时已经知道了所有的类型信息,另一种是反射机制,允许我们在运行时发现和使用类的信息。 每个类都会产生一...

cjxcloud
26分钟前
0
0
react-native 使用webview调用自己书写的页面

之前只接触调用线上别人的页面,原来也可以使用自己书写的页面,代码如下: <WebView ref={webView =>this.webView = webView} onNavigationStateChange={e=>this.change(e)} source =......

前端大白
29分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部