yii\base\Application.php是一个抽象类,继承Module类,yii\web\Application类继承
yii\base\Application类
1. 2个请求事件的常量
- EVENT_BEFORE_REQUEST 处理请求前触发的事件
- EVENT_AFTER_REQUEST 处理请求后,响应发送前触发的事件
2. 7个标识应用状态的常量
- STATE_BEGIN 应用开始
- STATE_INIT 应用初始化
- STATE_BEFORE_REQUEST 标志应用正在触发EVENT_BEFORE_REQUEST
- STATE_HANDLING_REQUEST 标志应用正在处理请求
- STATE_AFTER_REQUEST 标志应用正在触发EVENT_AFTER_REQUEST
- STATE_SENDING_RESPONSE 标志应用即将发送响应
- STATE_END 标志应用结束
3. 14个其他属性
- $controllerNamespace 控制器默认命名空间
- $name 应用程序名称
- $charset 应用程序当前使用的字符集
- $language 使用的语言
- $sourceLanguage 代码语言
- $controller 控制器实例
- $layout 视图布局,默认main,设置false,布局被禁用
- $requestedRoute 路由
- $requestedAction 操作
- $requestedParams 参数
- $extensions 指定应用安装和使用的扩展列表
- $bootstrap 程序启动期间应该运行的组件列表
- $state 标志当前程序正处于的状态
- $loadedModules 已加载的模块列表
//处理请求前触发的事件
const EVENT_BEFORE_REQUEST = 'beforeRequest';
//处理请求后,响应发送前触发的事件
const EVENT_AFTER_REQUEST = 'afterRequest';
//应用开始
const STATE_BEGIN = 0;
//应用初始化
const STATE_INIT = 1;
//标志应用正在触发EVENT_BEFORE_REQUEST
const STATE_BEFORE_REQUEST = 2;
//标志应用正在处理请求
const STATE_HANDLING_REQUEST = 3;
//标志应用正在触发EVENT_AFTER_REQUEST
const STATE_AFTER_REQUEST = 4;
//标志应用即将发送响应
const STATE_SENDING_RESPONSE = 5;
//标志应用结束
const STATE_END = 6;
//控制器默认命名空间
public $controllerNamespace = 'app\\controllers';
//应用程序名称
public $name = 'My Application';
//应用程序当前使用的字符集。
public $charset = 'UTF-8';
//使用的语言
public $language = 'en-US';
//代码语言
public $sourceLanguage = 'en-US';
//控制器实例
public $controller;
//视图布局,默认main,
// 设置false,布局被禁用
public $layout = 'main';
//路由
public $requestedRoute;
//操作
public $requestedAction;
//参数
public $requestedParams;
/**
* 指定应用安装和使用的扩展列表
* 每个扩展结构类似下面这样:
* [
* 'name' => 'extension name',
* 'version' => 'version number',
* 'bootstrap' => 'BootstrapClassName',
* 'alias' => [
* '@alias1' => 'to/path1',
* '@alias2' => 'to/path2',
* ],
* ]
*
* 可以配置多个扩展,每个扩展结构
* 如上面所示
* $extensions = [
* $extension-1,
* $extension-2,
* $extension-3,
* ....更多...,
* $extension-XXX,
* ]
*/
public $extensions;
/**
* 程序启动期间应该运行的组件列表
* 1. 组件id
* 2. 模块id
* 3. 类名称
* 4. 配置数组
* 5. 闭包
*/
public $bootstrap = [];
//标志当前程序正处于的 状态
public $state;
//已加载的模块列表
public $loadedModules = [];