運(yùn)行概述(Overview)

2018-02-24 15:40 更新

運(yùn)行機(jī)制概述

每一次 Yii 應(yīng)用開始處理 HTTP 請求時(shí),它都會(huì)進(jìn)行一個(gè)近似的流程。

  1. 用戶提交指向?入口腳本?web/index.php?的請求。
  2. 入口腳本會(huì)加載?配置數(shù)組?并創(chuàng)建一個(gè)?應(yīng)用?實(shí)例用于處理該請求。
  3. 應(yīng)用會(huì)通過?request(請求)?應(yīng)用組件解析被請求的?路由
  4. 應(yīng)用創(chuàng)建一個(gè)?controller(控制器)?實(shí)例具體處理請求。
  5. 控制器會(huì)創(chuàng)建一個(gè)?action(動(dòng)作)?實(shí)例并為該動(dòng)作執(zhí)行相關(guān)的 Filters(訪問過濾器)。
  6. 如果任何一個(gè)過濾器驗(yàn)證失敗,該動(dòng)作會(huì)被取消。
  7. 如果全部的過濾器都通過,該動(dòng)作就會(huì)被執(zhí)行。
  8. 動(dòng)作會(huì)加載一個(gè)數(shù)據(jù)模型,一般是從數(shù)據(jù)庫中加載。
  9. 動(dòng)作會(huì)渲染一個(gè) View(視圖),并為其提供所需的數(shù)據(jù)模型。
  10. 渲染得到的結(jié)果會(huì)返回給?response(響應(yīng))?應(yīng)用組件。
  11. 響應(yīng)組件會(huì)把渲染結(jié)果發(fā)回給用戶的瀏覽器。

下面的示意圖展示了應(yīng)用是如何處理一個(gè)請求的。

在這個(gè)版塊中,我們會(huì)更加詳細(xì)地描述某些步驟的具體運(yùn)作。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)