目录结构

相对于5.1来说,6.0版本目录结构的主要变化是核心框架纳入vendor目录,然后原来的application目录变成app目录。

6.0支持多应用模式部署,所以实际的目录结构取决于你采用的是单应用还是多应用模式,分别说明如下。

单应用模式

默认安装后的目录结构就是一个单应用模式

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                 命令行入口文件

多应用模式(扩展)

如果你需要一个多应用的项目架构,目录结构可以参考下面的结构进行调整(关于配置文件的详细结构参考后面章节),但首先需要安装ThinkPHP的多应用扩展,具体可以参考多应用模式

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             全局事件定义文件

BaseController.phpRequest.phpExceptionHandle.php三个文件是系统默认提供的基础文件,位置你可以随意移动,但注意要同步调整类的命名空间。如果你不需要使用Request.phpExceptionHandle.php文件,或者要调整类名,记得必须同步调整provider.php文件中的容器对象绑定。

provider.php服务提供定义文件只能全局定义,不支持在应用下单独定义