PHP网站制作之MVC 设计形式带来更好的软件布局和代码...
一下弹出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将会使你的软件在强健性,代码重用和布局方面上一个新的台阶。
模仿的不光是模仿,模仿的同时在加改进,就成了自己的作品了。 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会) 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 基础有没有对学习php没有太大区别,关键是兴趣。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
页:
[1]