安裝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 目錄包含了所有控制器類。
以下圖表展示了一個應用的靜態結構:
#每個應用程式都有一個入口腳本web/index.php ,這是整個應用程式中唯一可以存取的PHP 腳本。入口腳本接受一個 Web 請求並建立應用程式實例去處理它。應用在它的元件輔助下解析請求, 並分派請求至 MVC 元素。視圖使用小工具 去建立複雜和動態的使用者介面。
請求生命週期
以下圖表展示了一個應用程式如何處理請求:
使用者向入口腳本web/index.php 發起請求。
入口腳本載入應用程式配置並建立一個應用程式 實例去處理請求。
應用程式透過請求元件解析請求的路由。
應用建立一個控制器實例去處理請求。
控制器建立一個動作實例並針對操作執行篩選器。
如果任何一個篩選器回傳失敗,則動作取消。
如果所有過濾器都通過,動作將被執行。
動作會載入一個資料模型,或許是來自資料庫。
動作會渲染一個視圖,把資料模型提供給它。
渲染結果回傳給回應元件。
回應元件傳送渲染結果給使用者瀏覽器。
以上是Yii怎麼運作應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!