PHP网页设计FleaPHP 开辟指南 - 2. FleaPHP 中的 M...
建议大家买一本书,而不光是在网上看一些零碎的资料,一本书毕竟会讲的系统一些,全面一些,而且印刷的书不受电脑的限制,但是建议在看书的时候最好旁边有电脑,这样可以很及时地上机实践。开辟指南 了解 FleaPHP 中,MVC 形式是若何完成的,和其特色,可以匡助你更好的应用 FleaPHP。甚么叫做设计形式?
复杂来讲,设计形式(Pattern)就是处理某一类成绩的特定办法。因为这类特定办法在处理同类成绩时具有通用性,所以咱们就能够一次又一次的使用已有的经历。详细到法式编写上,就是咱们可以用相似的法式布局和代码处理同类型的成绩。有关设计形式的具体内容,可以浏览经典著作《设计形式》,这里我就不布鼓雷门了。
MVC 实践上是一系列略有分歧的形式。FleaPHP 采取的是Passive(主动)MVC 形式。
在 Passive MVC 形式中,Model(模子)完整不晓得本人身处于 MVC 布局当中。换句话说,Model 就是一个通俗的对象,与 MVC 形式外面的其他构成局部完整没有联系关系。详细而言,MVC 形式触及到以下三类对象:
[*]M 代表 Model,即模子,用于封装与营业逻辑有关的代码和数据。例如对定单的各类盘算。
[*]V 代表 View,即视图,用于出现内容给用户(也就是将法式运转的了局前往给阅读器显示)。例如商品列表页面、后台登录页面。
[*]C 代表 Controller,即掌握器,用于吸收用户输出(经由过程阅读器倡议的恳求),然后挪用模子(Model)对输出数据停止处置并取得处置了局。最初将了局传递到视图(View),从而让用户可以看到本人操作的了局。例如用户点击删除文章按钮后,掌握器挪用操作文章的模子,删除失落指定文章,最初经由过程视图显示胜利删除文章的提醒信息。
经由如许复杂的分别,咱们就把使用法式操作数据的代码(绝大局部 Web 使用法式都是对数据停止操作)和处置用户输出输入的代码分别开来了。
这类分别有很多优点:
[*]明晰的将使用法式分隔为自力的局部;
[*]营业逻辑代码可以很便利的在多处反复利用;
[*]便利开辟人员分工协作;
[*]假如需求,可以便利开辟人员对使用法式各个局部的代码停止测试。
假如你下面的文字让你感觉很无聊或不敷严谨,那末申明你已很熟习 MVC 形式了。假如你看到下面的文字感应莫衷一是,那申明你还需求多浏览一些面向对象相干的书本和文档。
使用法式履行流程
上面的插图描写了基于 FleaPHP 使用法式的履行流程。
http://www.pushad.com/XrssFile/2006-12/7/200612723421705.png
[*]index.php 是使用法式的进口文件,担任界说一些使用法式必需的常量,并载入 FleaPHP 框架,然后履行 run() 函数;
[*]过滤器链完成 HTTP 恳求数据解析、MagicQuotes 处置等任务;
[*]使用法式掌握依据 HTTP 恳求,挪用范畴逻辑、表数据进口、组件等,并将处置了局传送到视图/模板;
[*]视图/模板依据使用法式掌握器供应的数据生成输入内容并传送到阅读器。
在 FleaPHP 中,index.php 外面的 run() 在挪用过滤器链后,会运转一个调剂器。该调剂器依据 HTTP 恳求参数决意要挪用的使用法式掌握器。例如 index.php?controller=blog&action=list 这个恳求暗示要挪用名为 blog 的使用法式掌握器的 list 举措。然后调剂器会挪用这个掌握器的举措。
http://www.pushad.com/XrssFile/2006-12/7/200612723421711.png在 FleaPHP 使用法式中,掌握器完成为一个类,掌握器举措就是该类的一个办法。
在掌握器(MVC 形式中的 Controller)办法中,经由过程挪用范畴逻辑代码(MVC 形式中的 Model)来处置 HTTP 恳求提交的数据并取得了局。然后再将了局传递给视图(MVC 形式中的 View)。视图依据掌握器办法供应的参数从模板文件机关终究的页面内容,并前往给阅读器。
应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^ 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会) 爱上php,他也会爱上你。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 实践是检验自己会不会的真理。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
页:
[1]
2