陀螺匠目录结构

5.1 项目根目录结构

复制代码
/gyro-craftsman-owen/

├── .trae/ # Trae IDE 配置目录

├── app/ # 应用程序核心代码

├── bootstrap/ # 引导文件

├── config/ # 配置文件

├── crmeb/ # 自定义工具库

├── database/ # 数据库相关

├── helper/ # 辅助工具

├── public/ # 公共资源文件

├── routes/ # 路由定义

├── storage/ # 存储文件

├── tests/ # 测试文件

├── vendor/ # Composer 依赖

├── .env # 环境变量

├── .env.example # 环境变量示例

├── composer.json # Composer 依赖配置

├── artisan # Laravel 命令行工具

└── phpunit.xml # PHPUnit 配置文件

5.2 app/ 目录结构

app/ 目录是应用程序的核心代码目录,包含了所有业务逻辑和功能实现。

复制代码
app/

├── Console/ # 控制台命令

│ └── Commands/ # 自定义命令

├── Exceptions/ # 异常处理

│ └── Handler.php # 异常处理器

├── Http/ # HTTP 相关代码

│ ├── Controller/ # 控制器

│ ├── Dao/ # 数据访问对象

│ ├── Middleware/ # 中间件

│ ├── Model/ # 数据模型

│ ├── Requests/ # 请求验证

│ └── Service/ # 业务服务

├── Jobs/ # 队列任务

├── Listeners/ # 事件监听器

├── Providers/ # 服务提供者

├── Task/ # 任务处理

├── Constants/ # 常量定义

└── Traits/ # 可复用特性

5.3 app/Http/Controller/ 目录结构

控制器目录采用模块化组织,按功能模块划分。

复制代码
Controller/

├── AdminApi/ # 后台 API 控制器

│ ├── Auth/ # 认证模块

│ │ └── AuthController.php

│ ├── User/ # 用户模块

│ │ ├── UserController.php

│ │ └── UserInfoController.php

│ ├── Chat/ # 聊天模块

│ │ ├── ApplicationController.php

│ │ ├── HistoryController.php

│ │ └── RecordController.php

│ ├── Approve/ # 审批模块

│ │ ├── ApproveController.php

│ │ └── ApproveApplyController.php

│ ├── Attendance/ # 考勤模块

│ │ ├── AttendanceController.php

│ │ └── ClockController.php

│ ├── Assess/ # 考核模块

│ │ └── AssessController.php

│ └── System/ # 系统模块

│ ├── ConfigController.php

│ └── LogController.php

├── UniApi/ # 统一 API 控制器

│ └── ...

└── Install.php # 安装控制器

5.4 app/Http/Dao/ 目录结构

数据访问对象目录按模块组织,封装数据库操作逻辑。

复制代码
Dao/

├── Admin/ # 管理员数据访问

│ ├── AdminDao.php

│ └── AdminInfoDao.php

├── Auth/ # 认证数据访问

│ ├── RoleDao.php

│ └── UserRoleDao.php

├── User/ # 用户数据访问

│ ├── UserDao.php

│ └── UserTokenDao.php

├── Chat/ # 聊天数据访问

│ ├── ApplicationDao.php

│ ├── HistoryDao.php

│ ├── ModelsDao.php

│ └── RecordDao.php

├── Approve/ # 审批数据访问

│ ├── ApproveDao.php

│ ├── ApproveApplyDao.php

│ └── ApproveFormDao.php

├── Attendance/ # 考勤数据访问

│ ├── AttendanceGroupDao.php

│ └── ClockRecordDao.php

├── Assess/ # 考核数据访问

│ └── AssessDao.php

├── Company/ # 公司数据访问

│ └── CompanyDao.php

├── Config/ # 配置数据访问

│ ├── ConfigDao.php

│ └── BackupDao.php

├── Finance/ # 财务数据访问

│ ├── BillDao.php

│ └── PaytypeDao.php

├── Message/ # 消息数据访问

│ └── MessageDao.php

└── Work/ # 工作数据访问

├── WorkLabelDao.php

├── WorkClientDao.php

└── WorkMemberDao.php

5.5 app/Http/Model/ 目录结构

数据模型目录按功能模块组织,定义数据表结构。

复制代码
Model/

├── Admin/ # 管理员模型

│ ├── Admin.php

│ └── AdminInfo.php

├── Auth/ # 认证授权模型

│ ├── Role.php

│ └── Permission.php

├── User/ # 用户模型

│ ├── User.php

│ └── UserToken.php

├── Chat/ # 聊天模型

│ ├── Application.php

│ ├── History.php

│ ├── Models.php

│ └── Record.php

├── Approve/ # 审批模型

│ ├── Approve.php

│ ├── ApproveApply.php

│ └── ApproveForm.php

├── Attendance/ # 考勤模型

│ ├── AttendanceGroup.php

│ ├── AttendanceGroupMember.php

│ └── ClockRecord.php

├── Assess/ # 考核模型

│ ├── Assess.php

│ ├── AssessSpace.php

│ └── AssessTarget.php

├── Company/ # 公司模型

│ └── Company.php

├── Finance/ # 财务模型

│ └── Bill.php

├── Message/ # 消息模型

│ └── Message.php

└── Work/ # 工作模型

├── WorkClient.php

├── WorkLabel.php

└── WorkMember.php

5.6 app/Http/Service/ 目录结构

业务服务目录按模块组织,实现核心业务逻辑。

复制代码
Service/

├── Admin/ # 管理员服务

│ ├── AdminService.php

│ └── AdminInfoService.php

├── Auth/ # 认证服务

│ ├── AuthService.php

│ └── RoleService.php

├── User/ # 用户服务

│ ├── UserService.php

│ └── UserTokenService.php

├── Chat/ # 聊天服务

│ ├── ApplicationService.php

│ ├── ChatService.php

│ ├── HistoryService.php

│ └── RecordService.php

├── Approve/ # 审批服务

│ ├── ApproveService.php

│ └── ApproveApplyService.php

├── Attendance/ # 考勤服务

│ ├── AttendanceService.php

│ └── ClockService.php

├── Assess/ # 考核服务

│ └── AssessService.php

├── Company/ # 公司服务

│ └── CompanyService.php

├── Config/ # 配置服务

│ └── ConfigService.php

├── Message/ # 消息服务

│ └── MessageService.php

└── Work/ # 工作服务

└── WorkService.php

5.7 app/Http/Middleware/ 目录结构

中间件目录包含请求过滤和处理逻辑。

复制代码
Middleware/

├── Auth/ # 认证中间件

│ ├── AuthAdmin.php # 后台认证中间件

│ ├── AuthUser.php # 用户认证中间件

│ └── AuthCrud.php # CRUD 认证中间件

├── Language/ # 语言中间件

│ └── Language.php # 语言切换中间件

├── CORS/ # 跨域中间件

│ └── Cors.php

└── RateLimit/ # 限流中间件

└── ApiRateLimiter.php

5.8 app/Constants/ 目录结构

常量目录按功能模块组织,定义系统常量。

复制代码
Constants/

├── System/ # 系统常量

│ └── ConfigEnum.php # 配置常量

├── Work/ # 工作常量

│ ├── MediaEnum.php # 媒体常量

│ ├── LabelEnum.php # 标签常量

│ └── StatusEnum.php # 状态常量

├── ApproveEnum.php # 审批常量

├── AssessEnum.php # 评估常量

├── AttachEnum.php # 附件常量

├── CacheEnum.php # 缓存常量

├── ClientEnum.php # 客户常量

├── CompanyEnum.php # 公司常量

├── DailyEnum.php # 日报常量

├── MenuEnum.php # 菜单常量

└── UserEnum.php # 用户常量

5.9 config/ 目录结构

配置文件目录包含系统所有配置项。

复制代码
config/

├── app.php # 应用配置

├── auth.php # 认证配置

├── cache.php # 缓存配置

├── database.php # 数据库配置

├── filesystems.php # 文件系统配置

├── hashing.php # 哈希配置

├── jwt.php # JWT 配置

├── laravels.php # LaravelS 配置

├── lauthz.php # Casbin 权限配置

├── logging.php # 日志配置

├── mail.php # 邮件配置

├── queue.php # 队列配置

├── services.php # 服务配置

├── session.php # Session 配置

└── upload.php # 上传配置

5.10 routes/ 目录结构

路由目录定义系统所有路由。

复制代码
routes/

├── web.php # Web 路由

├── api.php # API 路由

├── console.php # 控制台路由

├── channels.php # 广播通道

└── websocket.php # WebSocket 路由

5.11 database/ 目录结构

数据库目录包含迁移、种子和工厂文件。

复制代码
database/

├── factories/ # 模型工厂

│ ├── UserFactory.php

│ └── ...

├── migrations/ # 数据库迁移

│ ├── 2024_01_01_000001_create_users_table.php

│ ├── 2024_01_01_000002_create_admins_table.php

│ └── ...

├── seeders/ # 数据库种子

│ ├── DatabaseSeeder.php

│ └── ...

└── schema/ # 数据库 schema

└── ...

5.12 crmeb/ 目录结构

自定义工具库目录包含项目特定的工具类和服务。

复制代码
crmeb/

├── basic/ # 基础类

│ └── BaseService.php

├── exceptions/ # 异常类

│ └── BusinessException.php

├── services/ # 服务类

│ ├── UploadService.php

│ └── CacheService.php

├── socket/ # Socket 类

│ └── WebSocket.php

├── traits/ # 特质类

│ └── Singleton.php

└── utils/ # 工具类

├── Helper.php

└── Validator.php

5.13 public/ 目录结构

公共资源目录包含前端文件和静态资源。

复制代码
public/

├── admin/ # 后台前端文件

│ ├── index.html

│ ├── static/

│ │ ├── css/

│ │ ├── js/

│ │ └── images/

│ └── ...

├── chat/ # 聊天前端文件

│ └── ...

├── install/ # 安装程序文件

│ └── ...

├── favicon.ico # 网站图标

└── index.php # 入口文件

5.14 开发指南

5.14.1 新增模块流程

  1. 创建目录结构
bash 复制代码
# 在 Controller 下创建模块目录

mkdir -p app/Http/Controller/AdminApi/NewModule/



# 在 Service 下创建模块目录

mkdir -p app/Http/Service/NewModule/



# 在 Dao 下创建模块目录

mkdir -p app/Http/Dao/NewModule/



# 在 Model 下创建模块目录

mkdir -p app/Http/Model/NewModule/
  1. 创建核心文件
  • 创建控制器类

  • 创建服务类

  • 创建数据访问类

  • 创建模型类

  • 创建请求验证类

  1. 配置路由
  • 在控制器中添加路由属性

  • 配置中间件

  1. 创建数据库迁移
bash 复制代码
php artisan make:migration create_new_module_table
  1. 测试验证
bash 复制代码
php artisan route:list | grep new_module

5.14.2 代码组织原则

  • 单一职责原则:每个类只负责一项功能

  • 依赖注入:通过构造函数注入依赖

  • 接口隔离:使用接口定义行为

  • 开闭原则:对扩展开放,对修改关闭

5.14.3 目录命名规范

  • 目录名使用小写字母

  • 多个单词使用下划线分隔

  • 按功能模块组织相关文件

  • 保持目录结构扁平化

5.15 相关文档

相关推荐
FIT2CLOUD飞致云1 天前
新增订单管理模块、计算组件函数功能增强,Cordys CRM发布v1.6.0版本
ai·crm·销售管理·ai crm·cordys crm·大单网
ayingmeizi1635 天前
从算力领先到增长领先:前沿科技企业为何需要AI原生CRM作为增长引擎
人工智能·科技·数据可视化·crm·ai-native
后青春期的诗go6 天前
泛微OA-E9与第三方系统集成开发企业级实战记录(八)
java·接口·金蝶·泛微·oa·集成开发·对接
后青春期的诗go7 天前
泛微OA-E9与第三方系统集成开发企业级实战记录(九)
java·金蝶·erp·泛微·oa·集成开发·e9
智能工业品检测-奇妙智能15 天前
目前主流开源的crm系统
开源·crm·奇妙智能
云游云记2 个月前
php CRM客户分配方案整理
php·crm
云游云记2 个月前
php crm客户属性字段变更记录:业务合规与数据可信的核心保障
sql·php·crm
平头也疯狂2 个月前
RuoYi Office 全景介绍:一个平台管好整个企业
微服务·vue3·springboot·crm·oa·企业管理系统
spencer_tseng2 个月前
ERP CRM SCM MES PLM SRM WMS OMS HRMS
wms·crm·srm·erp·mes·plm·scm