[TOC]
* * * * *
## 1 目录结构
### 整体目录
~~~
onethink\
Addons\ ;插件扩展目录
Application\ ;应用目录
Data\ ;数据备份目录
Public\ ;静态资源目录
Runtime\ ;运行时目录
Thinkphp\ ;框架核心
Uploads\ ;上传存储目录
admin.php ;后台入口
index.php ;前台入口
install.php ;安装入口
~~~
### 应用目录
~~~
onethink\Application\
Admin\ ;后台模块
Common\ ;公共模块
Home\ ;前台模块
Install\ ;安装模块
User\ ;用户模块
~~~
### 资源目录
~~~
onethink\Public\
Admin\ ;后台模块资源
Home\ ;前台模块资源
Install\ ;安装模块静态资源
static\ ;公共静态资源
~~~
### 插件目录
~~~
onethink\Addons\
;按插件功能分目录
~~~
### 上传目录
~~~
onethink\Uploads\
;按上传来源分目录
~~~
## 2 结构分析
### 入口模块
1. 整体采用分入口多模块组织
2. 通过入口文件的 BIND_MODULE参数实现入口到模块
~~~
admin.php
define('BIND_MODULE','Admin');
~~~
~~~
install.php
define ( 'BIND_MODULE','Install');
~~~
### 模块组织
1. 分为5个模块组织
~~~
Admin\ ;后台应用模块
Common\ ;公共模块
Home\ ;前台应用模块
Install\ ;安装模块
User\ ;用户模块
~~~
2. 模块结构组织
~~~
Module\
Api\ ;模型Api目录(Install,User)
Behavior\ ;行为扩展目录(Common模块独有)
Common\ ;模块函数目录(五模块都有)
Conf\ ;模块配置目录(五模块都有)
Controller\ ;控制器模块(除User模块都有)
Data\ ;安装数据目录(Install模块独有)
Logic\ ;模型逻辑层目录(Home)
Model\ ;模型目录(除Install都有)
Service\ ;xx
View\ ;模块视图目录(Admin,Home,Install)
Widget\ ;视图Widget目录(Home)
~~~