4 框架结构
最后更新于:2022-03-31 23:47:15
# 4 框架结构
## 处理请求流程图
![处理请求流程图](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2bf005411cc4dc71a1f7018cd5d07287_858x1425.png)
### 服务启动
框架在服务启动时需要完成初始化的一系列工作:
1. 注册Swoole各种事件回调函数
2. 读取配置文件
3. 注册配置管理进程
4. 初始化对象池实例
5. 进入Event Loop事件循环
### 处理请求
1. 根据用户请求的URI路由
2. 判断处理请求的action是否需要协程调度
3. 如2为Y则创建协程Task,将Task压入调度的堆
4. 由IO事件触发协程调度器调度请求
5. Task执行完成,响应用户请求
6. 释放相关资源
## 应用程序目录
建议使用 `app` 作为应用程序目录,业务逻辑都在里面,框架级别的东西也可以通过在 `app` 目录下的继承来修改。
## 入口文件
应用程序需要一个入口启动脚本,并且启动脚本是通过 PHP CLI方式运行的,例如 `server.php`。
## psr4
- 类采用首字母大写的驼峰式命名,类文件名必须与文件内部类名相同
- 使用命名空间,命名空间名字与目录路径对应