首頁 >php框架 >YII >Yii怎麼運作應用

Yii怎麼運作應用

(*-*)浩
(*-*)浩原創
2019-11-23 14:40:123845瀏覽

Yii怎麼運作應用

安裝Yii 後,就有了一個可運行的Yii 應用, 根據配置的不同,可以透過http://hostname/basic/web/index.php 或http://hostname/index.php 訪問。         (建議學習:yii使用教學

本章節將介紹應用的內建功能,如何組織程式碼,以及一般情況下應用如何處理請求。

訊息: 為簡單起見,在整個「入門」板塊都假定你已經把basic/web 設為Web 伺服器根目錄並配置完畢, 你存取應用程式的位址會是http://hostname/index .php 或類似的。請按需調整 URL。

注意專案範本和框架完全不同,安裝完之後全都歸你了。你可以根據你的需要自由的添加或刪除程式碼和 修改全部的。

功能

一個安裝完的基本應用程式包含四頁:

主頁,當你造訪http://hostname/index.php 時顯示,「About」頁「Contact」頁面, 顯示一個聯絡表單,允許終端使用者透過Email 聯絡你,「Login」頁, 顯示一個登入表單,用來驗證終端使用者。試著用「admin/admin」登入, 你可以看到目前是登入狀態,已經可以「登出登入」了。

這些頁面使用同一個頭部和尾部。頭部包含了一個可以在不同頁麵切換的導覽列。

在瀏覽器底部可以看到一個工具列。這是 Yii 提供的很有用的調試工具, 可以記錄並顯示大量的調試信息,例如日誌信息,響應狀態,數據庫查詢等等。

除了 web 應用程序,還有一個控制台腳本叫 yii ,它位於應用程式根目錄。它可以用於程式的後台運行和維護任務,在控制台應用程式章節 中描述。

應用結構 

應用程式中最重要的目錄和檔案(假設應用根目錄是basic):

basic/                  应用根目录
    composer.json       Composer 配置文件, 描述包信息
    config/             包含应用配置及其它配置
        console.php     控制台应用配置信息
        web.php         Web 应用配置信息
    commands/           包含控制台命令类
    controllers/        包含控制器类
    models/             包含模型类
    runtime/            包含 Yii 在运行时生成的文件,例如日志和缓存文件
    vendor/             包含已经安装的 Composer 包,包括 Yii 框架自身
    views/              包含视图文件
    web/                Web 应用根目录,包含 Web 入口文件
        assets/         包含 Yii 发布的资源文件(javascript 和 css)
        index.php       应用入口文件
    yii                 Yii 控制台命令执行脚本

一般來說,應用中的檔案可分為兩類:在basic/web 下的和在其它目錄下的。前者可以直接透過 HTTP 存取(例如瀏覽器),後者不能也不應該直接存取。

Yii 實作了模型-視圖-控制器 (MVC)設計模式,這點在上述目錄結構中也得以體現。 models 目錄包含了所有模型類, views 目錄包含了所有視圖腳本, controllers 目錄包含了所有控制器類。

以下圖表展示了一個應用的靜態結構:

Yii怎麼運作應用

#每個應用程式都有一個入口腳本web/index.php ,這是整個應用程式中唯一可以存取的PHP 腳本。入口腳本接受一個 Web 請求並建立應用程式實例去處理它。應用在它的元件輔助下解析請求, 並分派請求至 MVC 元素。視圖使用小工具 去建立複雜和動態的使用者介面。

請求生命週期

以下圖表展示了一個應用程式如何處理請求:

Yii怎麼運作應用使用者向入口腳本web/index.php 發起請求。

入口腳本載入應用程式配置並建立一個應用程式 實例去處理請求。

應用程式透過請求元件解析請求的路由。

應用建立一個控制器實例去處理請求。

控制器建立一個動作實例並針對操作執行篩選器。

如果任何一個篩選器回傳失敗,則動作取消。

如果所有過濾器都通過,動作將被執行。

動作會載入一個資料模型,或許是來自資料庫。

動作會渲染一個視圖,把資料模型提供給它。

渲染結果回傳給回應元件。

回應元件傳送渲染結果給使用者瀏覽器。

以上是Yii怎麼運作應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn