博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cakephp加载流程
阅读量:5207 次
发布时间:2019-06-14

本文共 1363 字,大约阅读时间需要 4 分钟。

1、首先要定义下app/web_root/为虚拟主机的根目录

2、如果不是也会请求到那个文件,所以web_root就是入口文件

入口文件定义了全局变量,定义了很多路径相关的信息,比如

web_root

app

css

这里实在是太多了

3、加载三个文件

require CAKE . 'basics.php';require CAKE . 'Core' . DS . 'App.php';require CAKE . 'Error' . DS . 'exceptions.php';

然后定义了home_url

FULL_BASE_URL

app类设置为自动加载

然后加载一些组建

spl_autoload_register(array('App', 'load'));App::uses('ErrorHandler', 'Error');App::uses('Configure', 'Core');App::uses('CakePlugin', 'Core');App::uses('Cache', 'Cache');App::uses('Object', 'Core');App::uses('Multibyte', 'I18n');App::$bootstrapping = true;Configure::bootstrap(isset($boot) ? $boot : true);

这里需要注意的是,basics.php

这不是一个类,这是一个全局的方法包括config debuger h pr等一些方法

在bootstrap中也定义了很多的全局方法

然后开始启用调度器,和路由,同时初始化了request 和 response

App::uses('Dispatcher', 'Routing');$Dispatcher = new Dispatcher();$Dispatcher->dispatch(    new CakeRequest(),    new CakeResponse());

4、去看看调度器类

开始调度

App::uses('Router', 'Routing');App::uses('CakeRequest', 'Network');App::uses('CakeResponse', 'Network');App::uses('Controller', 'Controller');App::uses('Scaffold', 'Controller');App::uses('View', 'View');App::uses('Debugger', 'Utility');App::uses('CakeEvent', 'Event');App::uses('CakeEventManager', 'Event');App::uses('CakeEventListener', 'Event');

加载了这么多东西

5、初始化控制器

传入request 

调用controller的处理方法

调用response处理输出

这一段着实不懂呢

转载于:https://www.cnblogs.com/linksgo2011/archive/2013/02/28/2937540.html

你可能感兴趣的文章