下载此文档

ThinkPHP执行流程.ppt


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
流程大纲加载公共入口文件项目初始化Init项目预编译URL分析Dispather获取模块和操作名项目执行exec执行控制器的操作调用模块获取数据输出视图锡债瘫蚕澎泻料埠栏帐直原瘁眉豺曲独戒换区愚帝引孪抿汝精迟察埃髓类ThinkPHP执行流程ThinkPHP执行流程入口文件的定义<?phpdefine('THINK_PATH','../ThinkPHP');//定义项目名称,如果不定义,默认为入口文件名称define('APP_NAME','web');define('APP_PATH','./web');//加载ThinkPHP框架公共入口文件require(THINK_PATH.'/');//实例化一个网站应用实例$App=newApp();//执行应用程序$App->run();?>$GLOBALS[‘_beginTime’](19行)检测THINK_PATH、APP_NAME、APP_PATH、RUNTIME_PATH定义,如果没有则创建(20-26行) //不知道你发现没有,,通过APP_PATH,可以组装出任意路径检查开启ALLINONE模式(22行)把核心编译缓存和项目编译缓存合并到一个文件里面去,并且过滤掉一些运行模式不需要执行的代码,并且对于用户的自定义常量全部统一定义,不再进行额外的检测。检查是否有核心缓存~(33行)if(file_exists(RUNTIME_PATH.'~')){ //加载框架核心缓存文件 requireRUNTIME_PATH.'~';}else{ ////,则自动创建项目目录结构//(包括ThinkPHP\LIB\THINK下级各子目录下的Base、App、Action、Model、View、ThinkException、Log)////生成核心编译~runtime缓存}记录加载文件时间$GLOBALS['_loadTime'];褪苍庸吼瘦缄实耐厄帜沃盯昌宛坯燎圈全蹋踊塞熬咱挺怕猴盼急沪悯那兼ThinkPHP执行流程ThinkPHP执行流程进入ThinkPHP\Lib\Think\Core\App入口文件中调用的$App->run()publicfunctionrun(){ $this->init(); $this->exec(); return;}$App->run()返回的时候,(1)(39-40行) (set_error_handler和set_exception_handler)(44-52行)//在部署模式下会自动在第一次执行的时候编译项目if(defined('RUNTIME_MODEL')){//运行模式无需载入项目编译缓存}elseif(is_file(RUNTIME_PATH.'~')&&(!is_file(CONFIG_PATH.'')||filemtime(RUNTIME_PATH.'~')>filemtime(CONFIG_PATH.''))){//直接读取编译后的项目文件C(includeRUNTIME_PATH.'~');}else{//预编译项目App::build();}(59-60行)、session初始化(62-66行)(2)(71行)执行Dispatcher类的静态方法dispatch()。这段代码很不错。(82-90行)if(!defined('GROUP_NAME'))define('GROUP_NAME',App::getGroup());(92-93行)if(!defined('MODULE_NAME'))define('MODULE_NAME',A

ThinkPHP执行流程 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人kt544455
  • 文件大小323 KB
  • 时间2019-08-25