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 − 網站入口點

應用程序結構


以下是應用程序的結構示意圖。
Yii應用程序結構

Yii2 – 對象

下面的列表包含了所有Yii2的對象 -

模型,視圖和控制器

模型數據表示(通常從數據庫)。視圖是用於顯示的數據。控制器是用於處理請求和產生響應。

組件 - Components

創建一個可重複使用的功能,用戶可以編寫自己的組件。組件只是包含邏輯對象。例如,組件可以是一個重量轉換器。

應用程序組件 - Application components

這些都是在整個應用只實例化的一個對象。 組件和應用組件之間的主要區別是,後者在整個應用程序只有一個實例。

小工具 - Widgets

Widget是含有邏輯和渲染代碼可重用的對象。一個小部件可以是,例如,一個畫廊滑塊。

過濾器 -Filters

過濾器是在控制器動作的執行之前或之後運行的對象。

模塊 - Modules

可以認爲模塊就是可重用的子應用程序,包括模型,視圖,控制器等等。

擴展 - Extensions

擴展是可以由 Composer 來管理的軟件包。