Skip to content

约定

约定大于配置,这句名言相信很多开发者都听过。无论是框架还是软件包,都会遵循一定的约定规范。当我们熟悉并遵循这些约定后,开发工作将变得更加简单高效。CatchAdmin 同样遵循这一理念,制定了一系列开发约定。在开始开发前,了解这些约定是非常必要的。

核心约定

目录结构约定

  • 后台功能开发:所有后台功能模块统一放置在 modules 目录下
  • 前端开发web 目录作为前端开发的根目录,主要用于公共组件的开发和管理
  • 枚举类型:所有枚举类型必须实现 Catch\Enums\Enum 接口

版本要求

框架最低版本要求 PHP 8.1,因此可以使用 PHP 8.1 新增的枚举类型 enum

枚举值约定

  • 整型枚举起始值:所有整型枚举值必须从 1 开始,不能从 0 开始

为什么从 1 开始?

这是因为枚举值集合通常会用于列表查询等场景。由于 PHP 是弱类型语言,在不使用严格比较(===)的情况下,0null 和空字符串 "" 会被视为相等,这可能导致逻辑错误。从 1 开始可以有效避免这类问题。

公共模块约定

所有公共的请求接口和公共方法都应统一放置在内置的 Common 模块中,主要包括:

  • 文件上传功能:统一的文件上传处理逻辑
  • 前端枚举集合请求:为前端提供枚举数据的接口

参考说明

具体的实现方式和使用方法,请参考 Common 模块内的 HTTP 公共请求接口,每个接口都有详细的使用说明。