针对hyperf框架改造----目录结构
项目接口
- 本项目结构将从下面几个结构来介绍,如有错误希望更正
- 整体结构
- 配置文件结构
- 路由文件结构
- 代码目录结构
- Bundle目录结构
整体结构
├── app // 我们将默认的访问路径由 app 换成了 src
│ ├── Command // 通用脚本
│ ├── Constants // 定义枚举相关
│ ├── Controller // 访问控制器
│ ├── Exception // 异常处理相关
│ ├── Listener // 监听器相关
│ ├── Model // 相关数据库 model
│ └── helpers.php // 常用方法
├── bin // 启动 Hyperf 服务文件
├── config // 配置文件 请看下面 `配置文件结构` 文档
├── doc // 文档
├── migrations // 生成的迁移文件
├── routes // 路由文件 请看下面 `路由文件结构` 文档
│ ├── admin // 后台路由
│ ├── front // 前台路由
├── runtime // 运行程序相关文件
│ ├── container // 缓存代理类
│ ├── logs // 项目运行日志
│ └── hyperf.pid // master 进程的 PID
├── src // 项目主要代码目录 请看下面 `代码目录结构` 文档
├── storage // 存储文件夹
│ ├── download // 下载文件存储
├── test // 测试用例相关
├── vendor // composer 加载的 vendor 包
├── .env // 配置文件,`cp .env.example .env` ,复制 env 文件
├── .env.example // 配置例子文件,记得相关配置增加注释
├── .env.develop // 测试环境配置
├── .env.prd // 生产环境配置
├── .gitignore
├── .php_cs // 格式化代码风格配置文件,注意不要动,`composer cs-fix` 格式化代码
├── composer.json // 包管理文件
└── phpunit.xml // 测试用例配置文件
配置文件结构
config
├── autoload // 此文件夹内的配置文件会被配置组件自己加载,并以文件夹内的文件名作为第一个键值
│ ├── amqp.php // 用于管理 AMQP 组件
│ ├── annotations.php // 用于管理注解
│ ├── aspects.php // 用于管理 AOP 切面
│ ├── async_queue.php // 用于管理基于 Redis 实现的简易队列服务
│ ├── cache.php // 用于管理缓存组件
│ ├── commands.php // 用于管理自定义命令
│ ├── crontab.php // 定时任务
│ ├── consul.php // 用于管理 Consul 客户端
│ ├── databases.php // 用于管理数据库客户端
│ ├── dependencies.php // 用于管理 DI 的依赖关系和类对应关系
│ ├── devtool.php // 用于管理开发者工具
│ ├── exceptions.php // 用于管理异常处理器
│ ├── file.php // 文件系统管理文件
│ ├── listeners.php // 用于管理事件监听者
│ ├── logger.php // 用于管理日志
│ ├── middlewares.php // 用于管理中间件
│ ├── opentracing.php // 用于管理调用链追踪
│ ├── processes.php // 用于管理自定义进程
│ ├── redis.php // 用于管理 Redis 客户端
│ ├── server.php // 用于管理 Server 服务
│ └── translation.php // 多语言版本
├── config.php // 用于管理用户或框架的配置,如配置相对独立亦可放于 autoload 文件夹内
├── container.php // 负责容器的初始化,作为一个配置文件运行并最终返回一个 PsrContainerContainerInterface 对象
└── routes.php // 用于管理路由
路由文件结构
routes
├── admin // 后台路由
│ ├── user.php // 用户接口路由
├── front // 前台
│ ├── home.php // 前台对外公共路由
│ ├── user.php // 用户路由
代码目录结构
src
├── Rpc // Rpc相关
├── UserBundle // 用户相关
├── HomeBundle // 前台对外公共相关
Bundle目录结构
UserBundle
├── Constants // 定义枚举相关
├── Model // 模型
├── Http // 控制器相关
│ ├── Controllers // 控制器相关
│ │ ├── Admin // 后台接口控制器相关
│ │ ├── Front // 小程序接口控制器相关
├── Interfaces // 接口相关
├── Middleware // 中间件相关
├── Process // 异步消费进程
├── Services // 服务相关,逻辑处理
├── Tests // 测试相关
│ ├── Admin // 后台测试用例
│ ├── Front // 前台测试用例
│ └── Services // 服务测试用例
└── Traits // 特性相关
目录加载
- 在composer.json 中按需添加
"autoload": { "psr-4": { "": "src/", } },
本作品采用《CC 协议》,转载必须注明作者和本文链接