针对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 协议》,转载必须注明作者和本文链接
codezhao
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!