Yii架構Yiiapp()的理解
Yii架構是一個純物件導向的架構,這個架構在啟動並執行時候,也就是一個應用被訪問的時候,需要建立許多個物件,這些對象再調用許多相關方法,從而完成一次web請求。
這個Yii::app() 是第一個被建立的對象,由這個對象調用相關方法,完後後續工作。
Yii::app()主要負責一些全域性的功能模組,比如Yii::app()->getUser()返回的是CWebUser執行個體(用於表達目前使用者的驗證資訊)。因為CWebApplication繼承CComponent,所以Yii::app()->getUser()也可以寫作Yii::app()->user (參見關於CComponent的說明,這是Yii的基石)。
Yii::app()是類CWebApplication的執行個體,因此這個類(包括繼承類)能被使用的屬性和方法,這個對象都可以使用(有些方法是系統啟動並執行核心方法,不建議直接調用)。例如 CWebApplication 裡邊有一個方法 getLayoutPath() 獲得配置路徑,則我們可以這樣:
echo Yii::app()->getLayoutPath(); // 輸出 D:\www\phpernote.com\protected\views\layouts
另外,CWebApplication 和其父類 CApplication 為系統定義了好多可以使用的組件,db、user、session、authManager、request 等等還有其他的不一一列舉。
我們可以通過Yii::app()使用以上組件,例如:
echo Yii::app()->request->url; //可以獲得當前請求的相對url地址( /index.php?r=user/login )
說明:
Yii::app()->request; 會建立request類對象
Yii::app()->request->url; 會調用類request裡邊的屬性資訊,這個屬性沒有,或調用父類的魔術方法__get間接調用geturl()方法
Yii::app()->user; 會調用使用者驗證組件(CWebUser),CWebUser的一些屬性和方法就可以被使用。
您可能感興趣的文章
- 顯示行號的文字框效果,相容ie、Firefox等瀏覽器
- yii架構目錄結構詳細分析說明
- php打造屬於自己的MVC架構簡單案例,提供思路,僅供參考
- 提高使用者體驗必須從分析使用者視覺感官上入手
- select into from 提示 Undeclared variable.....錯誤的解決辦法
- Yii控制器動作參數綁定處理
- php設計模式是什麼,該如何理解
- php Output Control 深入理解 ob_flush 和 flush 的區別
http://www.bkjia.com/PHPjc/981486.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/981486.htmlTechArticleYii架構Yiiapp()的理解 Yii架構是一個純物件導向的架構,這個架構在啟動並執行時候,也就是一個應用被訪問的時候,需要建立許多個物件,這些對...