Yii應用程序結構
在整體的代碼庫只有一個文件夾公開發布到Web服務器。它就是web目錄。Web根目錄目錄之外的其他文件夾Web服務器不可觸碰的。
注 - 所有項目依賴位於composer.json文件。Yii2已經由 Composer 幾個重要的軟件包包含在你的項目中。這些包有以下幾種-
GII - 代碼生成工具
調試控制檯
Codeception測試框架
SwiftMailer庫
Twitter Bootstrap UI庫
前三個包只在開發環境中有用。
Yii2的應用程序結構是精確的,明確的。它包含以下文件夾 -
assets - 此文件夾包含在網頁中引用的所有 .js和.css文件
commands - 此文件夾包括可從終端中使用的控制器
config - 此文件夾包含配置文件用於管理數據庫,應用程序和應用參數
mail - 此文件夾包含郵件佈局
models - 該文件夾包函在應用程序中使用的模型
runtime − 此文件夾是用於存儲運行時數據
tests − 此文件夾包含所有的測試(驗收,單元測試,功能)
vendor - 此文件夾包含由Composer提供所有的第三方軟件包。
views − 此文件夾爲視圖文件夾目錄,由控制器顯示。layout 文件夾是用於頁面模板
web − 網站入口點
應用程序結構
以下是應用程序的結構示意圖。
Yii2 – 對象
下面的列表包含了所有Yii2的對象 -
模型,視圖和控制器
模型數據表示(通常從數據庫)。視圖是用於顯示的數據。控制器是用於處理請求和產生響應。
組件 - Components
創建一個可重複使用的功能,用戶可以編寫自己的組件。組件只是包含邏輯對象。例如,組件可以是一個重量轉換器。
應用程序組件 - Application components
這些都是在整個應用只實例化的一個對象。 組件和應用組件之間的主要區別是,後者在整個應用程序只有一個實例。
小工具 - Widgets
Widget是含有邏輯和渲染代碼可重用的對象。一個小部件可以是,例如,一個畫廊滑塊。
過濾器 -Filters
過濾器是在控制器動作的執行之前或之後運行的對象。
模塊 - Modules
可以認爲模塊就是可重用的子應用程序,包括模型,視圖,控制器等等。
擴展 - Extensions
擴展是可以由 Composer 來管理的軟件包。