二十三、逐行阅读Yii2.0.43源码_Yii框架文件yii\base\Application.php(1)

 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 = [];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值