Skip to content

kitephp/webman-design-guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webman Design Guide

完整的 Webman 框架设计规范、架构指南和最佳实践

License: MIT PHP Version Webman

English | 中文


目录

架构设计

系统示例

完整的目录结构 + 代码示例,展示如何在不同场景下应用架构规范:

  1. 电商系统
  2. 内容管理系统 (CMS)
  3. 后台管理系统
  4. 多租户 SaaS
  5. RESTful API 服务
  6. 即时通讯系统
  7. 工单客服系统
  8. 支付网关集成
  9. 数据报表系统
  10. 微服务示例

工具集成

编码规范


快速开始

核心原则

  1. 保持 Webman 默认目录 - 不改变框架原有结构
  2. 目录全小写 - 跨平台兼容性
  3. 依赖方向清晰 - Domain 层不依赖框架
  4. 接口与实现分离 - 使用 Contract 定义接口
  5. 遵循 PER Coding Style - 统一代码风格

推荐目录结构

app/
├─ controller/            # Webman 默认 - HTTP 入口
├─ model/                 # Webman 默认 - ORM 模型
├─ middleware/            # Webman 默认 - 中间件
├─ process/               # Webman 默认 - 自定义进程
├─ service/               # 应用层 - 用例编排
├─ domain/                # 领域层 - 业务逻辑
│  └─ <bounded-context>/  # 限界上下文 (order/user/billing)
│     ├─ entity/          # 实体
│     ├─ enum/            # 枚举
│     └─ vo/              # 值对象
│     ├─ event/           # 领域事件
│     └─ rule/            # 业务规则
├─ contract/              # 接口定义
├─ infrastructure/        # 基础设施 - 仓储实现
└─ support/               # 通用工具

依赖方向

controller → service → domain + contract
                    ↓
            infrastructure → contract + domain

禁止反向依赖

  • ❌ domain 不能依赖 framework/model/infrastructure
  • ❌ controller 不能直接依赖 model/infrastructure

设计目标

为什么需要这套规范?

  1. Controller 变薄 - 业务逻辑从控制器中解耦
  2. 可测试性 - Domain 层纯 PHP,无需启动框架即可测试
  3. 可维护性 - 清晰的分层和依赖方向
  4. 可扩展性 - 平滑迁移到插件系统或微服务
  5. 团队协作 - 统一的代码风格和架构模式

适用场景

适合使用本规范

  • 中大型项目(预期代码量 > 10k 行)
  • 复杂业务逻辑(状态机、权限、计算规则)
  • 多人协作开发
  • 需要长期维护的项目

可选使用

  • 小型 CRUD 项目
  • 快速原型验证
  • 个人学习项目

Agent Skills

为 AI 代码助手提供的 Webman 最佳实践规范:

npx skills add kitephp/webman-design-skills

仓库地址https://github.com/kitephp/webman-design-skills


贡献指南

欢迎提交 Issue 和 Pull Request!

文档改进

  • 发现错误或不清晰的地方
  • 补充更多系统示例
  • 改进代码示例
  • 翻译改进

代码示例要求

  • 必须遵循 PER Coding Style
  • 包含必要的注释
  • 展示关键流程,不需要完整实现
  • 代码简洁,突出重点

许可证

MIT License - 详见 LICENSE 文件


相关资源

官方文档

PHP 规范

开发工具


联系方式

About

PHP & Webman 框架设计规范、架构指南和最佳实践

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •