YII框架分析筆記1 YII執行流程

2021-07-22 07:58:38 字數 494 閱讀 6819

yii整體執行流程直觀,具體由以下步驟:

1、程式入口檔案index.php載入yii框架引導程式(bootstrap)檔案yii.php,載入配置檔案以及其他自定義配置。

2、yii.php中yii類繼承了yiibase,主要封裝框架的一些通用方法,比如自動載入、建立元件、核心類路徑對映、記錄日誌以及除錯等,yiibase.php中註冊自動載入方法。另外yii類預留可以自定義一些方法作為擴充套件。

4、再回到index.php,執行前端控制器中的run()。首先執行onbeginreques事件如果有的話,接下來處理請求過程,和其他框架一樣,獲取路由然後分發路由,通過controller和action對映到指定的控制器檔案。

5、控制器類中以action開頭的方法(actions為外部動作除外),獲取model中的資料,渲染view。

6、view的渲染可以選擇普通檢視和兩步檢視(layout),檢視中可以用widget小掛件,比較方便。

詳細的流程可以參見yii社群中的一張圖

YII框架分析筆記7 掛件widget

widget好處是方面重用和靈活移動。cwidget是所有的widge父類,同時它又是是cbasecontroller的子類,cwidget提供了類似ccontroller中的一些方法,但render 方法渲染的時候不帶layout,而且渲染的時候 this指得是cwidget物件,而不是ccont...

YII框架分析筆記9 url路由

curlmanager初始化的時候如果url格式 預設是get格式 如果是path格式,則通過配置中的rule陣列建立路由規則物件,根據路由規則獲取內部路由,當路由都不匹配的時候會根據設定的usestrictparsing引數決定丟擲乙個404錯誤合適返回 pathinfo。如果不是path格式的話...

Yii框架分析(八) URL管理元件

url管理元件主要提供2個功能 1 根據使用者輸入的url,解析出處理這個請求的路由 由哪個controller的哪個action來處理,同時將url中的引數部分新增到 get引數中。在每個web框架中都需要乙個這樣的元件來進行路由分發的工作。2 根據路由和引數陣列建立出url。在檢視層可以對url...