# 项目目录结构
[TOC]
- app
- config
- common 公共模块
- 模块一
- 模块二
- status.php 模块配置
- other.php 模块配置
- ........
- app.php 框架配置
- route.php 框架路由
- controller
- 模块一
- 模块二
- Index.php
- Search.php
- ........
- functions
- logic
- model
- validate
- views
- widget
- vendor
- web
- public
- .htaccess
- index.php
- composer.json
## app目录
开发的时候可以在根目录创建一个app目录实现上面所示的结构,框架会自动加载,
开发完成后把`app`里的结构封装成`composer`包来实现自动安装部署,所有功能模块都可以拆分成一个一个的`composer`包来实现团队协作完成
### config
* 应用配置:配置目录下有两个文件app.php(应用级配置),route.php(应用路由配置),这两个名字是固定的。有且只能有一个,框架调试模式下会搜索所有composer包的conig目录下搜索这两个文件,找到第一个为止,如果有多个app.php配置则会被忽略
* 模块配置:其它的配置放在固定的模块文件夹中,可以任意的多个文件
app.php中放系统级别的配置,比如调试模式,域名绑定,缓存,日志设置等,其它的模块级别配置可以放到对应的模块配置文件夹中。
### controller
此文件夹下放每个模块的控制器,模块以文件夹来区分。后面的 functions logic model validate widget 都按这个规则来放置
## vendor
第三方包默认安装目录
## web
web的入口开放目录,index.php为入口文件
``` php
//包含自动加载类
$loader = require __DIR__ . '/../vendor/autoload.php';
\ank\App::start();
```