主题
约定
约定大于配置,这句名言相信很多开发者都听过。无论是框架还是软件包,都会遵循一定的约定规范。当我们熟悉并遵循这些约定后,开发工作将变得更加简单高效。CatchAdmin
同样遵循这一理念,制定了一系列开发约定。在开始开发前,了解这些约定是非常必要的。
核心约定
目录结构约定
- 后台功能开发:所有后台功能模块统一放置在
modules
目录下 - 前端开发:
web
目录作为前端开发的根目录,主要用于公共组件的开发和管理 - 枚举类型:所有枚举类型必须实现
Catch\Enums\Enum
接口
版本要求
框架最低版本要求 PHP 8.1,因此可以使用 PHP 8.1 新增的枚举类型 enum
。
枚举值约定
- 整型枚举起始值:所有整型枚举值必须从
1
开始,不能从0
开始
为什么从 1 开始?
这是因为枚举值集合通常会用于列表查询等场景。由于 PHP 是弱类型语言,在不使用严格比较(===
)的情况下,0
、null
和空字符串 ""
会被视为相等,这可能导致逻辑错误。从 1
开始可以有效避免这类问题。
公共模块约定
所有公共的请求接口和公共方法都应统一放置在内置的 Common
模块中,主要包括:
- 文件上传功能:统一的文件上传处理逻辑
- 前端枚举集合请求:为前端提供枚举数据的接口
参考说明
具体的实现方式和使用方法,请参考 Common
模块内的 HTTP 公共请求接口,每个接口都有详细的使用说明。