怎么设立网站赚广告费,婴幼儿网站模板,秦皇岛微信公众号,昆明网站运营公司有哪些在上文加载完配置等一系列工作之后#xff0c;进入App::run()#xff0c;在run()方法中#xff0c;首先通过自动加载机制拿到 Request 的一个实例接着 $config self::initCommon()初始化公共配置#xff0c;先是 addNamespace 添加app当前所在的命名空间#xff0c;然后 …在上文加载完配置等一系列工作之后进入App::run()在run()方法中首先通过自动加载机制拿到 Request 的一个实例接着 $config self::initCommon()初始化公共配置先是 addNamespace 添加app当前所在的命名空间然后 进行 self::init()初始化跟进去它会进行加载默认的application下的config.php配置文件、database.php数据库配置文件还会读取额外的application\extra\ 下的配置文件、加载公共文件等等操作最后又会调用 Config::get()将其配置参数全部放入到数组中然后回到 self::initCommon 函数中继续往下走就是检查参数、加载额外需要的文件等等回到 原来的run函数中继续往下走先是进行 模块/控制器绑定操作这里默认 BIND_MODULE 没定义 所以不走然后往下走来到$dispatch self::routeCheck($request, $config);功能是URL 路由检测 跟进进入了先来到path方法获取你的访问路径index/index/index然后接着开始 路由的判断默认runtime目录下没有路由的缓存文件然后就就会去包含application目录下的route.php文件接着进行路由的检测 进入到 check 方法中在check方法中先对你的路由路径index/index/index 中的 ‘/ ‘进行 ‘|‘ 替换处理接着进入 $request-method 方法中 对该路由请求的方式为哪种类型最后走的是如下继续跟进它会获取服务器的$_SERVER的变量然后调用input方法看起来是获取 REQUEST_METHOD 中的值然后又调用 getFilter 方法来获取全局过滤的规则上面获取完全局过滤的规则之后就开始进行过滤操作到这里 又回到了 check方法中上面完成了 获取了 请求类型的路由规则 和 http的请求方式 和 请求的路径然后接着开始进行 URL绑定默认为空这里接着把刚才 | 替换为 /然后这里就走出了check方法最后来到了 parseUrl 方法中 该方法 实现的功能先进入parseUrlPath这个方法对 路由方法的分割比如这里是Index/index/index那么就如下返回然后解析 模块 控制器 动作 以及 所带的参数最后返回解析完的数据到现在 已经是 回到了 app-run 的主方法中 routeCheck 的方法所以 自己看来可以理解为就是对 路径的访问 路由方式的判断 解析 模块 控制器 动作 以及 所带的参数的操作到这里在App::run()方法中已经执行了一般了主要的 initCommon routeCheck 两个方法都执行过了现在继续执行的就是 exec 方法到目前前面得了 routeCheck 方法 会把结果放在 $dispatch中然后进入 exec方法中该方法会根据 $dispatch[‘type‘] 判断这里是 module那么走 module 的分支 module()方法module() 该方法主要的操作就是 初始化模块来到其中的 init 方法 流程就是 先根据模块 定位模块的目录 然后加载 当前模块目录下的 config.php文件然后加载 当前模块目录下的 config.php文件接着读取数据库配置文件等等然后出$request-module方法 重新来到 exec 中module方法 中接着获取控制器名再获取操作名再整合 控制器和动作接着再次获取动作名最后开始调用真正调用Action的函数最后在exec中返回调用返回来的数据$data通过该Response创建然后最后echo到这里完整的一次http请求就结束了原文https://www.cnblogs.com/zpchcbd/p/12563157.html