## 單應用模式
默認安裝后的目錄結構就是一個單應用模式
~~~
www WEB部署目錄(或者子目錄)
├─app 應用目錄
│ ├─controller 控制器目錄
│ ├─model 模型目錄
│ ├─ ... 更多類庫目錄
│ │
│ ├─common.php 公共函數文件
│ └─event.php 事件定義文件
│
├─config 配置目錄
│ ├─app.php 應用配置
│ ├─cache.php 緩存配置
│ ├─console.php 控制臺配置
│ ├─cookie.php Cookie配置
│ ├─database.php 數據庫配置
│ ├─filesystem.php 文件磁盤配置
│ ├─lang.php 多語言配置
│ ├─log.php 日志配置
│ ├─middleware.php 中間件配置
│ ├─route.php URL和路由配置
│ ├─session.php Session配置
│ ├─trace.php Trace配置
│ └─view.php 視圖配置
│
├─view 視圖目錄
├─route 路由定義目錄
│ ├─route.php 路由定義文件
│ └─ ...
│
├─public WEB目錄(對外訪問目錄)
│ ├─index.php 入口文件
│ ├─router.php 快速測試文件
│ └─.htaccess 用于apache的重寫
│
├─extend 擴展類庫目錄
├─runtime 應用的運行時目錄(可寫,可定制)
├─vendor Composer類庫目錄
├─.example.env 環境變量示例文件
├─composer.json composer 定義文件
├─LICENSE.txt 授權說明文件
├─README.md README 文件
├─think 命令行入口文件
~~~
## 多應用模式
如果你需要一個多應用的項目架構,目錄結構可以參考下面的結構進行調整(關于配置文件的詳細結構參考后面章節)。
~~~
www WEB部署目錄(或者子目錄)
├─app 應用目錄
│ ├─app_name 應用目錄
│ │ ├─common.php 函數文件
│ │ ├─controller 控制器目錄
│ │ ├─model 模型目錄
│ │ ├─view 視圖目錄
│ │ ├─config 配置目錄
│ │ ├─route 路由目錄
│ │ └─ ... 更多類庫目錄
│ │
│ ├─common.php 公共函數文件
│ └─event.php 事件定義文件
│
├─config 全局配置目錄
│ ├─app.php 應用配置
│ ├─cache.php 緩存配置
│ ├─console.php 控制臺配置
│ ├─cookie.php Cookie配置
│ ├─database.php 數據庫配置
│ ├─filesystem.php 文件磁盤配置
│ ├─lang.php 多語言配置
│ ├─log.php 日志配置
│ ├─middleware.php 中間件配置
│ ├─route.php URL和路由配置
│ ├─session.php Session配置
│ ├─trace.php Trace配置
│ └─view.php 視圖配置
│
├─public WEB目錄(對外訪問目錄)
│ ├─index.php 入口文件
│ ├─router.php 快速測試文件
│ └─.htaccess 用于apache的重寫
│
├─extend 擴展類庫目錄
├─runtime 應用的運行時目錄(可寫,可定制)
├─vendor Composer類庫目錄
├─.example.env 環境變量示例文件
├─composer.json composer 定義文件
├─LICENSE.txt 授權說明文件
├─README.md README 文件
├─think 命令行入口文件
~~~
> 多應用模式部署后,記得刪除`app`目錄下的`controller`目錄(系統根據該目錄作為判斷是否單應用的依據)。
在實際的部署中,請確保只有`public`目錄可以對外訪問。
> 在`mac`或者`linux`環境下面,注意需要設置`runtime`目錄權限為777。
## 默認應用文件
默認安裝后,`app`目錄下會包含下面的文件。
~~~
├─app 應用目錄
│ │
│ ├─BaseController.php 默認基礎控制器類
│ ├─ExceptionHandle.php 應用異常定義文件
│ ├─common.php 全局公共函數文件
│ ├─middleware.php 全局中間件定義文件
│ ├─provider.php 服務提供定義文件
│ ├─Request.php 應用請求對象
│ └─event.php 全局事件定義文件
~~~