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 來管理的軟體包。