首页 > 代码库 > Yii 学习一:目录结构

Yii 学习一:目录结构

 1 YII框架开发一个项目的通用目录结构:
 2 
 3 yii/
 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 自定义。


Yii 学习一:目录结构