仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2317|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网站制作之MVC 设计形式带来更好的软件布局和代码...

[复制链接]
飘灵儿 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:54:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!设计     模子-视图-掌握器(MVC)是Xerox PARC在八十年月为编程言语Smalltalk-80创造的一种软件设计形式,至今已被普遍利用。比来几年被保举为Sun公司J2EE平台的设计形式,而且遭到愈来愈多的利用 ColdFusion 和 PHP 的开辟者的接待。模子-视图-掌握器形式是一个有效的东西箱,它有良多优点,但也有一些弱点。

  MVC若何任务

  MVC是一个设计形式,它强迫性的使使用法式的输出、处置和输入分隔。利用MVC使用法式被分红三个中心部件:模子、视图、掌握器。它们各自处置本人的义务。

  视图
  视图是用户看到并与之交互的界面。对老式的Web使用法式来讲,视图就是由HTML元素构成的界面,在旧式的Web使用法式中,HTML照旧在视图中饰演侧重要的脚色,但一些新的手艺已层见叠出,它们包含Macromedia Flash和象XHTML,XML/XSL,WML等一些标识言语和Web services.

  若何处置使用法式的界面变得愈来愈有应战性。MVC一个大的优点是它能为你的使用法式处置良多分歧的视图。在视图中其实没有真实的处置产生,不论这些数据是联机存储的仍是一个雇员列表,作为视图来说,它只是作为一种输入数据并答应用户把持的体例。

  模子
  模子暗示企业数据和营业划定规矩。在MVC的三个部件中,模子具有最多的处置义务。例如它能够用象EJBs和ColdFusion Components如许的构件对象来处置数据库。被模子前往的数据是中立的,就是说模子与数据格局有关,如许一个模子能为多个视图供应数据。因为使用于模子的代码只需写一次就能够被多个视图重用,所以削减了代码的反复性。

  掌握器
  掌握器承受用户的输出并挪用模子和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,掌握器自己不输入任何器材和做任何处置。它只是吸收恳求并决意挪用哪一个模子构件去向理恳求,然后用肯定用哪一个视图来显示模子处置前往的数据。

  如今咱们总结MVC的处置进程,起首掌握器吸收用户的恳求,并决意应当挪用哪一个模子来停止处置,然后模子用营业逻辑来处置用户的恳求并前往数据,最初掌握器用响应的视图格局化模子前往的数据,并经由过程暗示层出现给用户。

  为何要利用 MVC

  大局部Web使用法式都是用像ASP,PHP,或CFML如许的进程化言语来创立的。它们将像数据库查询语句如许的数据层代码和像HTML如许的暗示层代码混在一同。经历对照丰厚的开辟者会将数据从暗示层分别开来,但这凡是不是很轻易做到的,它需求精心的企图和不休的测验考试。MVC从基本上强迫性的将它们分隔。虽然机关MVC使用法式需求一些额定的任务,然而它给咱们带来的优点是毋庸质疑的。

  起首,最主要的一点是多个视图能同享一个模子,正如我所说起的,如今需求用愈来愈多的体例来会见你的使用法式。对此,个中一个处理之道是利用MVC,不管你的用户想要Flash界面或是 WAP 界面;用一个模子就可以处置它们。因为你已将数据和营业划定规矩从暗示层分隔,所以你可以最大化的重用你的代码了。

  因为模子前往的数据没有停止格局化,所以一样的构件能被分歧界面利用。例如,良多数据能够用HTML来暗示,然而它们也有能够要用Macromedia Flash和WAP来暗示。模子也有形态办理和数据耐久性处置的功效,例如,基于会话的购物车和电子商务进程也能被Flash网站或无线联网的使用法式所重用。

  由于模子是自包括的,而且与掌握器和视图相分别,所以很轻易改动你的使用法式的数据层和营业划定规矩。假如你想把你的数据库从MySQL移植到Oracle,或改动你的基于RDBMS数据源到LDAP,只需改动你的模子便可。一旦你准确的完成了模子,不论你的数据来自数据库或是LDAP办事器,视图将会准确的显示它们。因为应用MVC的使用法式的三个部件是互相对峙,改动个中一个不会影响其它两个,所以根据这类设计思惟你能机关优秀的松巧合的构件。

  对我来讲,掌握器的也供应了一个优点,就是可使用掌握器来联接分歧的模子和视图去完成用户的需求,如许掌握器可觉得机关使用法式供应强无力的手腕。给定一些可重用的模子和视图,掌握器可以依据用户的需求选择模子停止处置,然后选择视图将处置了局显示给用户。

  MVC的弱点
  MVC的弱点是因为它没有明白的界说,所以完整了解MVC并非很轻易。利用MVC需求精心的企图,因为它的外部道理对照庞杂,所以需求消费一些工夫去思虑。

  你将不能不消费相当可不雅的工夫去思索若何将MVC应用到你的使用法式,同时因为模子和视图要严厉的分别,如许也给调试使用法式到来了必定的坚苦。每一个构件在利用之前都需求经由完全的测试。一旦你的构件经由了测试,你就能够毫无忌惮的重用它们了。

  依据我团体经历,因为咱们将一个使用法式分红了三个部件,所以利用MVC同时也意味着你将要办理比之前更多的文件,这一点是不言而喻的。如许仿佛咱们的任务量增添了,然而请记住这比起它所能带给咱们的优点是何足道哉。

  MVC其实不合适小型乃至中等范围的使用法式,消费大批工夫将MVC使用到范围并非很大的使用法式凡是会得失相当。

  MVC是一条创立软件的好路子
  MVC设计形式是一个很好创立软件的路子,它所倡始的一些准绳,像内容和显示相互分别能够对照好了解。然而假如你要隔离模子、视图和掌握器的构件,你能够需求从头思虑你的使用法式,特别是使用法式的构架方面。假如你肯承受MVC,而且有才能敷衍它所带来的额定的任务和庞杂性,MVC将会使你的软件在强健性,代码重用和布局方面上一个新的台阶。
模仿的不光是模仿,模仿的同时在加改进,就成了自己的作品了。
因胸联盟 该用户已被删除
沙发
发表于 2015-2-4 07:02:16 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
简单生活 该用户已被删除
板凳
发表于 2015-2-9 18:19:06 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
精灵巫婆 该用户已被删除
地板
发表于 2015-2-10 23:09:14 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
不帅 该用户已被删除
5#
发表于 2015-2-17 17:56:53 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
6#
发表于 2015-3-5 21:38:21 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
海妖 该用户已被删除
7#
发表于 2015-3-7 09:56:40 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
爱飞 该用户已被删除
8#
发表于 2015-3-8 04:00:16 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
分手快乐 该用户已被删除
9#
发表于 2015-3-15 20:19:11 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
小魔女 该用户已被删除
10#
发表于 2015-3-19 18:27:42 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
灵魂腐蚀 该用户已被删除
11#
发表于 2015-3-24 23:14:13 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
老尸 该用户已被删除
12#
发表于 2015-4-12 13:29:46 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
蒙在股里 该用户已被删除
13#
发表于 2015-6-6 14:39:39 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
活着的死人 该用户已被删除
14#
发表于 2015-7-8 20:13:28 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
深爱那片海 该用户已被删除
15#
发表于 2015-7-13 23:26:45 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
若相依 该用户已被删除
16#
发表于 2015-7-15 06:42:17 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
透明 该用户已被删除
17#
发表于 2015-7-20 22:14:23 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
admin 该用户已被删除
18#
发表于 2015-7-28 21:03:14 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
冷月葬花魂 该用户已被删除
19#
发表于 2015-9-23 02:19:22 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 13:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表