前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >针对hyperf框架改造----目录结构

针对hyperf框架改造----目录结构

作者头像
美团骑手
发布2021-04-28 09:39:30
1.6K0
发布2021-04-28 09:39:30
举报
文章被收录于专栏:技术进阶

项目接口

本项目结构将从下面几个结构来介绍,如有错误希望更正

  • 整体结构
  • 配置文件结构
  • 路由文件结构
  • 代码目录结构
  • Bundle目录结构

整体结构

代码语言:javascript
复制
├── 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 // 测试用例配置文件

配置文件结构

代码语言:javascript
复制
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 // 用于管理路由

路由文件结构

代码语言:javascript
复制
routes
├── admin // 后台路由
│   ├── user.php // 用户接口路由
├── front // 前台
│   ├── home.php // 前台对外公共路由
│   ├── user.php // 用户路由

代码目录结构

代码语言:javascript
复制
src
├── CheLunRpc // Rpc相关
├── UserBundle // 用户相关
├── HomeBundle // 前台对外公共相关

Bundle目录结构

代码语言:javascript
复制
UserBundle
├── Constants // 定义枚举相关
├── Model // 模型
├── Http // 控制器相关
│   ├── Controllers // 控制器相关 
│   │   ├── Admin // 后台接口控制器相关
│   │   ├── Front // 小程序接口控制器相关
├── Interfaces // 接口相关
├── Middleware // 中间件相关
├── Process // 异步消费进程
├── Services // 服务相关,逻辑处理
├── Tests // 测试相关
│   ├── Admin // 后台测试用例
│   ├── Front // 前台测试用例
│   └── Services // 服务测试用例
└── Traits // 特性相关
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目接口
  • 整体结构
  • 配置文件结构
  • 路由文件结构
  • 代码目录结构
  • Bundle目录结构
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档