在整體的程式碼庫只有一個檔案夾公開發佈到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 來管理的軟體包。