1. 程式人生 > >yii2 應用主體生命週期

yii2 應用主體生命週期

應用主體生命週期

當執行 入口指令碼 處理請求時,應用主體會經歷以下生命週期:

  1. 入口指令碼載入應用主體配置陣列。
  2. 入口指令碼建立一個應用主體例項:
    • 呼叫 [[yii\base\Application::preInit()|preInit()]] 配置幾個高級別應用主體屬性,比如[[yii\base\Application::basePath|basePath]]。
    • 註冊 [[yii\base\Application::errorHandler|error handler]] 錯誤處理方法.
    • 配置應用主體屬性.
    • 呼叫 [[yii\base\Application::init()|init()]] 初始化,該函式會呼叫 [[yii\base\Application::bootstrap()|bootstrap()]] 執行引導啟動元件.
  3. 入口指令碼呼叫 [[yii\base\Application::run()]] 執行應用主體:
    • 觸發 [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] 事件。
    • 處理請求:解析請求 路由 和相關引數;建立路由指定的模組、控制器和動作對應的類,並執行動作。
    • 觸發 [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] 事件。
    • 傳送響應到終端使用者.
  4. 入口指令碼接收應用主體傳來的退出狀態並完成請求的處理。