CRMEB开源商城系统 & 标准版系统(PHP)开发规范

一个项目在着手开发之前,一定要确定好相关的开发规范。比如文件目录结构、方法名称、变量名称、代码风格以及注释等。本期内容,我们就以CRMEB开源商城系统 & 标准版系统(PHP)为示例,系统的介绍一下本项目中的开发规范。

一、文件目录

CRMEB标准版系统(PHP)的框架使用的是ThinkPHP6,主要目录和框架目录相似,在这里说明一下项目中使用到的主要目录:

1、程序根目录下的crmeb目录是系统的核心目录,程序的核心功能都在这个文件夹下,基类、支付、短信、授权、导出、云存储等基本功能都在次文件夹下。

注意❗️❗️ 这个文件日常开发中尽量不要修改,如果必须要增加一个基础功能时,再去修改此文件夹。

2、app是ThinkPHP默认的目录,但是项目在app文件夹下进行了功能性的细化,包括model、dao、services等。

model:对应数据库的文件,保证每一张表都有一个model对应,这是一个最简单的model文件,命名空间,引用基类,pk是表主键,name是表名称。

dao层文件:只做数据查询、添加、修改等数据库操作,不做任何数据处理。

services层:处理程序的主要逻辑,如果构造方法注入dao层文件,services层的文件和dao层文件不是一一对应的。

controller层:这个里面的文件用于接收数据和发送数据,接收到数据之后调用对应处理数据的service层代码进行处理,再将返回值发送给请求方。

二、代码的开发

namespace和use规范:

(1)namespace声明后必须插入一个空白行

(2)所有use必须在namespace后声明

(3)每条use声明语句必须只有一个use关键词

(4)use声明语句块后必须要有一个空白行

类的定义:使用英文名词,以大写字母作为词的分隔,其他的字母均使用小写,名词的首个字母使用大写,不使用下划线,extends必须和类名在同一行。

定义的每个属性都必须添加访问修饰符:public、protected或private。

方法的命名规则:使用小驼峰命名

(1)使用英文名词、动词,以大写字母作为词的分隔,其他的字母均使用小写,单词的首个字母使用小写;

(2)不使用下划线参数,严格情况下需要声明变量类型,有默认值的参数需要在最后面;

(3)每一个方法都要有注释,表明方法用途、传入参数和类型、返回的参数类型等。

所有的运算符左右都要留下空格,类似下面的方法:

(1)PHP所有关键字必须全部小写

(2)非空行后一定不能有多余的空格符

(3)每行一定不能存在多于一条语句

(4)适当空行可以使得阅读代码更加方便以及有助于代码的分块(但注意不能滥用空行)。

温馨提示:在功能逻辑实现过程中,避免在循环中进行数据库的操作!

相关推荐
重生之小比特1 分钟前
【C++进阶】封装红⿊树实现mymap和myset
开发语言·c++
IMPYLH3 分钟前
HTML 的 <tfoot> 元素
前端·javascript·html
边境悍匪5 分钟前
蜗牛学苑 Java 智能体学习 Day49|贯穿项目 5 订单下单业务 思维导图复盘
java·开发语言·spring boot·学习·阿里云
鬼手点金9 分钟前
Claude Code示范案例-修复 Bug 工作流
java·服务器·前端·javascript·bug·openclaw
“AI国潮设计-小江”9 分钟前
【AIGC实战】Python+SDXL打造潮汕国潮IP:英歌舞麻将的自动化生成与商用思路
开发语言·人工智能·python·prompt·aigc
Roadinforest32 分钟前
Spring Boot 4 六步入门实录:从 Hello World 到一个能交付的 Todo API
java·开发语言·spring boot·spring
88号技师1 小时前
2026年9月SCI-天气状态蚂蚁优化算法Weather State Ants Optimizer-附Matlab免费代码
开发语言·算法·matlab·优化算法
孙启超1 小时前
【AI开发之Rust】第 20 课:壳侧 API 封装 —— 把 Rust 能力接进真实 UI
开发语言·后端·rust
paopaokaka_luck1 小时前
个人综合管理小程序(echarts数据看板、健康数据记录与趋势查看、目标拆解和进度管理、日程待办与番茄钟、习惯打卡、收支统计、个人生活记录、跨模块智能提醒)
前端·javascript·spring·小程序·数据分析·echarts·生活
JaguarJack1 小时前
用 Jev 与 Laravel AI SDK 检测垃圾邮件和自动回复
后端·ai·php·laravel·服务端