《MVC框架》.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《MVC框架》.doc

在开始之前需要同学们知道的知识 1.php基础知识 2.单一入口, 不知道的可以看看这里 (/html/webkaifa/PHP/PHP/2009/0819/3199.html) 具备以上两点, 那我们就可以开始啦. 哈哈! 先来说一下程序的执行流程 首先有个入口文件, 然后初始化一些程序, 之后根据请求调用不同的类和方法 首先我们弄一个入口文件 Index.php 来看看代码 复制代码 ?php require Init.php; $control = new Controller(); $control-Run(); ? 代码没什么特别的, 首先先引入Init.php文件 然后实例化一个类 然后调用该类的Run()方法 这里我们把这个类叫做控制器 既然引入了Init.php文件, 那么我们继续看看Init.php文件的源码 复制代码 ?php header(Content-type:text/html;charset=utf-8); !defined(ROOT_PATH) define(ROOT_PATH, str_replace(\\, /, dirname(__FILE__))); require ROOT_PATH . /Core/Config.php; //引入配置文件 require ROOT_PATH . /Core/Controller.class.php; //引入控制器类文件 require ROOT_PATH . /Core/View.class.php; //视图类文件 require ROOT_PATH . /Core/Model.class.php; //模型类文件 ? 分析一下代码, 如果你懂了, 可以略过这一步, 继续往下看哦. 首先 设置字符集, 然后判断如果没有定义常量ROOT_PATH那么就定义它 然后就是引入一些文件, 首先是配置文件, 控制器类文件, 视图类文件, 模型类文件 同理既然引入了文件,那么我们就打开文件看看代码, 先来看Config.php文件 复制代码 ?php $C = array( URL_MODE = 1, //URL模式, 1普通模式, 2 PATH_INFO模式 DEFAULT_CONTROL = welcome, //默认调用的控制器 DEFAULT_ACTION = index, //默认执行的方法 ); ? 没什么特别的就是一个数组, 有三个值, 暂时先这样, 以后有需要在来增加 那么好, 我们继续看Controll.class.php 复制代码 ?php class Controller { public function Run() { $this-Analysis(); //开始解析URL获得请求的控制器和方法 $control = $_GET[c]; $action = $_GET[a]; //这里构造出控制器文件的路径 $controlFile = ROOT_PATH . /Controllers/ . $control . .class.php; if(!file_exists($controlFile)) //如果文件不存在提示错误, 否则引入 { exit(控制器不存在 . $controlFile); } include($controlFile); $class = ucwords($control); //将控制器名称中的每个单词首字母大写,来当作控制器的类名 if(!class_exists($class)) //判断类是否存在, 如果不存在提示错误 { exit(为定义的控制器类 . $class); } $instance = new $class(); //否则创建实例 if(!method_exists($instance, $action)) //判断实例$instance中是否存在$action方法, 不存在则提示错误 { exit(不存在的方法 . $action); } $instance-$action(); } /** * 解析URL获得控制器与方法 * * @access protected * @return void */ protected function Analysis() { global $C; //包含全局配置数组, 这个数组是在Config.ph文件中定义的 if($C[URL_MODE] == 1) //如果URL模式为1 那么就在GET中获取控制器, 也就是说url地址是这种的[url=http://lo

文档评论(0)

wyth + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档