Yii架構Yiiapp()的理解_PHP教程

來源:互聯網
上載者:User

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架構是一個純物件導向的架構,這個架構在啟動並執行時候,也就是一個應用被訪問的時候,需要建立許多個物件,這些對...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.