1 YII框架開發一個項目的通用目錄結構: 2 3 testdrive/ 4 index.php Web 應用入口腳本文件 5 assets/ 包含公開的資源文件 6 css/ 包含 CSS 文件 7 images/ 包含圖片文件 8 themes/ 包含應用主題 9 protected/ 包含受保護的應用文件 10 yiic yiic 命令行腳本 11 yiic.bat Windows 下的 yiic 命令行腳本 12 commands/ 包含自定義的 'yiic' 命令 13 shell/ 包含自定義的 'yiic shell' 命令 14 components/ 包含可重用的用戶組件 15 MainMenu.php 'MainMenu' 掛件類 16 Identity.php 用來認證的 'Identity' 類 17 views/ 包含掛件的視圖文件 18 mainMenu.php 'MainMenu' 掛件的視圖文件 19 config/ 包含配置文件 20 console.php 控制台應用配置 21 main.php Web 應用配置 22 controllers/ 包含控制器的類文件 23 SiteController.php 默認控制器的類文件 24 extensions/ 包含第三方擴展 25 messages/ 包含翻譯過的消息 26 models/ 包含模型的類文件 27 LoginForm.php 'login' 動作的表單模型 28 ContactForm.php 'contact' 動作的表單模型 29 runtime/ 包含臨時生成的文件 30 views/ 包含控制器的視圖和布局文件 31 layouts/ 包含布局視圖文件 32 main.php 所有視圖的默認布局 33 site/ 包含 'site' 控制器的視圖文件 34 contact.php 'contact' 動作的視圖 35 index.php 'index' 動作的視圖 36 login.php 'login' 動作的視圖 37 system/ 包含系統視圖文件
Yii 假定了一系列默認的目錄用於不同的場合。如果需要,每個目錄都可以自定義。
-
WebRoot/protected
: 這是 應用基礎目錄,是放置所有安全敏感的PHP腳本和數據文件的地方。Yii 有一個默認的application
別名指向此目錄。此目錄及目錄中的文件應該保護起來防止Web用戶訪問。它可以通過CWebApplication::basePath 自定義。 -
WebRoot/protected/runtime
: 此目錄放置應用在運行時產生的私有臨時文件。此目錄必須對 Web 服務器進程可寫。它可以通過CApplication::runtimePath自定義。 -
WebRoot/protected/extensions
: 此目錄放置所有第三方擴展。它可以通過 CApplication::extensionPath 自定義。 -
WebRoot/protected/modules
: 此目錄放置所有的應用模塊,每個模塊使用一個子目錄。 -
WebRoot/protected/controllers
: 此目錄放置所有控制器類文件。它可以通過 CWebApplication::controllerPath 自定義。 -
WebRoot/protected/views
: 此目錄放置所有試圖文件,包含控制器視圖,布局視圖和系統視圖。它可以通過 CWebApplication::viewPath 自定義。 -
WebRoot/protected/views/ControllerID
: 此目錄放置單個控制器類中使用的視圖文件。此處的ControllerID
是指控制器的 ID 。它可以通過 CController::viewPath 自定義。 -
WebRoot/protected/views/layouts
: 此目錄放置所有布局視圖文件。它可以通過CWebApplication::layoutPath 自定義。 -
WebRoot/protected/views/system
: 此目錄放置所有系統視圖文件。系統視圖文件是用於顯示異常和錯誤的模板。它可以通過CWebApplication::systemViewPath自定義。 -
WebRoot/assets
: 此目錄放置公共資源文件。資源文件是可以被發布的,可由Web用戶訪問的私有文件。此目錄必須對 Web 服務器進程可寫。它可以通過CAssetManager::basePath 自定義 -
WebRoot/themes
: 此目錄放置應用使用的不同的主題。每個子目錄即一個主題,主題的名字即目錄的名字。它可以通過 CThemeManager::basePath 自定義。