php模板和框架,框架与模版有什么区别,例如PHP的zend framework 和smarty

问题

框架一般用于比较大的项目,而模版一般适用于比较小的项目,这样说对吗?那么除了这个原因,还有什么呢?

满意回答

2012/10/20 13:44

框架就是让你更快,更方便地开发应用,现在主流的PHP框架都支持MVC模式的开发,

M即“模型Model”(可以理解为对数据库的操作),

V即“视图View”(用来输出前端数据),

C即“控制器Controller”(后端逻辑,后端操作),

这样可以把前端、后端、数据库逻辑分离开,方便开发

df7936a126a7475a473e9a4f913f77a3.png

控制器把模型中的数据处理后输出到视图,比如

我要在前端页面输出一句话:“你好,xxx”

后面的xxx需要替换为数据库中的用户名,通过控制器读取数据库数据,保存用户名到变量$user_name中。

不同的模板引擎有不同的语法规则,比如我在模板中填写

你好,{$user_name}

通过模板引擎处理,就可以方便输出最终页面了。

一般的框架都会带有一个模板引擎,即V的部分。或者使用开源的模板引擎,smarty就是比较著名的一个

分割线

update at 2012-09-05 15:53:48

下面再给MVC举个例子吧,其实我也是新手就别叫我高手了……⊙﹏⊙b

比如,我们做一个最简单的留言系统,只有一个字段,就是留言的内容

要实现两个最简单的功能:

1.显示留言内容

2.提交留言

传统的开发方式,把所有的代码(sql、php、html)都写到了一起,项目比较大时就不容易维护

现在我们梳理下两个功能的逻辑

1.显示留言内容

逻辑:用户访问->php处理(C)->读取数据库(M)->显示留言内容页面(V)

2.提交留言

逻辑:用户提交->php处理(C)->写入数据库(M)->显示结果页面(留言是否成功)(V)

M就是直接对数据库进行操作的。比如可以把留言数据里的js代码过滤掉。

这个例子很简单,其实不要C也行,比如我们可以在C里判断一下访问IP是不是在黑名单里面,就不读取数据库了,直接显示出错页面。

最后比如我们把数据库读出的留言数据保存在变量$content里,把它输出到模板,根据不同模板引擎写下模板,比如

留言内容:{$content}

开发正式的项目的时候你就会理解MVC的含义了,MVC只是一个概念,没有硬性的规定,也不要被MVC束缚。

还是重在实践,建议选个框架,自己动手开发些小项目。

国内的开源框架:

国外的开源框架:

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值