# ThinkPHP6 架构
*****
### 一、单应用模式
* 项目访问路径:[www.xxx.com/index.php/index/index](http://www.xxx.com/index.php/index/index)
>[success] index.php 入口文件
> index 控制器
> index 操作
```php
├─app 应用目录
│ ├─controller 控制器目录
│ ├─model 模型目录
│ ├─view 视图目录
│ └─ ... 更多类库目录
│
├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ └─.htaccess 用于apache的重写
│
├─config 应用配置目录
│ ├─index 应用配置
│
├─route 路由定义目录
│ ├─index 应用路由定义
│
├─runtime 运行时目录
│ ├─index 应用运行时
```
*****
### 二、多应用模式
* 项目访问路径:[www.xxx.com/index.php/index/index/index](http://www.xxx.com/index.php/index/index/index)
>[success] index.php 入口文件
> index 项目
> index 控制器
> index 操作
```php
├─app 应用目录
│ ├─index 主应用
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录(优先)
│ │ └─ ... 更多类库目录
│ ├─admin 后台应用
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录(优先)
│ │ └─ ... 更多类库目录
│
├─public WEB目录(对外访问目录)
│ ├─admin.php 后台入口文件
│ ├─index.php 入口文件
│ └─.htaccess 用于apache的重写
│
├─config 应用配置目录
│ ├─index index应用配置
│ └─admin admin应用配置
│
├─route 路由定义目录
│ ├─index index应用路由定义目录
│ └─admin admin应用路由定义目录
│
├─runtime 运行时目录
│ ├─index index应用运行时目录
│ └─admin admin应用运行时目录
```
*****
### 三、入口文件
* 入口文件统一在 `public` 目录下
>[danger] public/index.php 是ThinkPHP框架入口文件,访问地址:[www.xxx.com/index.php](http://www.xxx.com/index.php)
* 需要多入口,在 `public` 目录下创建 `admins.php` 文件
>[danger] public/admins.php 入口文件,访问地址:[www.xxx.com/admins.php](http://www.xxx.com/admins.php)
*****
### 四、MVC
* `MVC` 一种软件架构模式
* 软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)
* `ThinkPHP` 是一个典型的 `MVC` 架构
>[success] 控制器 - 负责转发请求,对请求进行处理。
> 视图 - 界面设计人员进行图形界面设计。
> 模型 - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
![](mvc.jpg)
*****
### 五、调试模式
* `ThinkPHP` 有专门为开发过程而设置的调试模式,开启调试模式后,会牺牲一定的执行效率,但带来的方便和除错功能非常值得
>[danger] .env文件
```php
// 设置开启调试模式
APP_DEBUG = true
```
*****
### 六、Trace调试
* `Trace` 调试功能就是ThinkPHP提供给开发人员的一个用于开发调试的辅助工具。可以实时显示当前页面或者请求的请求信息、运行情况、SQL执行、错误信息和调试信息等,并支持自定义显示,并且支持没有页面输出的操作调试。
* 页面Trace功能仅在调试模式下有效
>[danger] 开启 `Trace` 调试
```php
// 全局中间件定义文件中添加
think\middleware\TraceDebug
```
- 序言
- PHP基础
- 认识PHP
- 环境安装
- PHP语法
- 流程控制
- PHP数组
- PHP函数
- PHP类与对象
- PHP命名空间
- PHP7新特性
- PHP方法库
- PHP交互
- 前后端交互
- 项目常规开发流程
- MySQL数据库
- 会话控制
- Ajax分页技术
- 细说函数
- 类与对象
- 对象进阶
- 类与对象进阶
- OOP面向对象
- 设计模式
- 路由与模板引擎
- 异常类
- PHP爬虫
- PHP抓取函数
- PHP匹配函数
- 正则表达式
- PHP字符串函数
- 抓取实战
- PHP接口
- 了解接口
- PHP插件
- PHPSpreadsheet
- ThinkPHP6
- 安装
- 架构
- 数据库
- 数据库操作
- 视图
- 模版
- 模型
- 杂项
- 命令行
- 交互
- 微信小程序
- 介绍
- 配置
- 组件
- 交互
- API
- 其他知识
- 百度小程序
- 介绍
- 配置
- 组件
- 交互
- API
- 其他知识
- Linux
- 服务器上线流程
- 安装svn
- MySQL
- 认识MySQL
- MySQL函数
- 杂项
- composer依赖管理工具