针对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/",
        }
    },

zhaohao

大家好,欢迎来到赵豪博客!赵豪,94年生人,PHP程序员一枚,因为对PHP开发有着相对比较浓厚的兴趣,所以现在从事着PHP程序员的工作。 今天再次开通这个博客,这里将记录我的职业生涯的点点滴滴,感谢来访与关注!如果我的博客能给您带来一些帮助那真是一件非常荣幸的事情~

相关推荐

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

针对hyperf框架改造----目录结构
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close