洞察管理小程序实例的关键在于实现跨平台能力与数据安全,如何利用FinClip助力企业在数字化转型中既合规又高效?
688
2022-11-14
PHP研发开发规范2
1 php编码规范
1.1 php开发工具1.2 使用fis3上传代码1.3 编码规范参照百度代码规范执行1.4 代码注释
2 odp开发规范
2.1 action基类2.2 dao基类2.3 脚本2.4 日志2.5 parent-phplib库公共方法2.6 rpc调用2.7 接口规范2.7 其他
3 mysql
3.1 表设计3.2 表注释
1 php编码规范
1.1 php开发工具
统一使用phpstorm开发代码格式化统一使用prettierWatchers默认没勾选上,需要自己在勾选下
2. prettier的watcher配置如下
3. 每个项目git仓库会增加一个配置文件.prettierrc,严禁修改
1.2 使用fis3上传代码
docker和开发机都可以使用fis3上传代码,操作步骤如下:
1) 在自己电脑上按照好fis3工具
2)将fis3执行脚本放在php项目根目录下,注意在.gitignore添加此文件,不要把此脚本提交到git仓库里,脚本请到这里-:
3)修改脚本的App和RemoteServer两个参数,app是项目名字,RemoteServer中修改想要上传的目标服务器域名
4)在项目根目录下执行命令(fis3 release -Lw),每次执行会先全量上传整个项目,然后脚本会一直监控,每当有文件修改会自动上传
1.3 编码规范参照代码规范执行
1.4 代码注释
文件、类和函数必须写注释
一定不要因为代码或者文件复制过来的而不去修改注释
phpstorm设置注释模板,进入设置:Editor-》File and Code Tempates-》PHP File Header
phpstorm添加函数注释快捷方式,在函数上方输入/**,然后回车就会自动生成函数注释
文件注释示例
|
函数注释示例
|
2 odp开发规范
2.1 action基类
parent-phplib库统一封装了各种场景的action基类,各个服务里不要在自己封装action基类
2.2 dao基类
parent-phplib库统一封装了dao基类,各个服务里请直接使用lib库的基类
说明:hk库共有3个dao基类,除了下面这2个,还有个Hk_Common_Dao,之前封装了一个基于此类的Parentlib_Dao_Base
dao基类 | 说明 | 方法 |
Parentlib_Common_BaseDao | 此基类用于单表dao,继承至Hk_Common_BaseDao | 获取查询字段数组:getQueryFields 查询带分页的列表数据:getPageList 查询列表数据,并返回是否还有下一页:getMoreList |
Parentlib_Common_BaseMultiDao | 此基类用于分表dao,继承至Hk_Common_BaseMultiDao | 获取查询字段数组:getQueryFields 按环境获取分表数量:getMaxTableNum 查询所有表数据:queryAllTable 查询带分页的列表数据:getPageList 查询列表数据,并返回是否还有下一页:getMoreList |
2.3 脚本
脚本文件严禁直接创建在/script根目录下按照模块创建目录模块目录内的脚本类型分为守护进程deamon、定时任务cron和一次性任务once,分表创建目录,见下图
2)脚本编码
脚本文件名字必须以大写字母开头脚本统一继承脚本基类Parentlib_Common_BaseScript脚本必须写完整注释,定时任务需要在注释里写清楚crontab计划脚本内打info日志直接使用Bd_Log::addNotice,基类会统一打一条日志脚本里注释填写好jira工单地址脚本一定要写到自己相关的项目里
2.4 日志
代码里打日志的地方一定要想清楚该往info还是wf里写
wf日志:不要什么错误都往wf里打,Bd_Log::warning()和Bd_Log::fatal()每次请求都会打一条日志,一次接口请求里代码多次调用会打多条wf日志,影响接口错误里的统计
info日志:一次接口请求框架会最后打一条info日志,不要在代码中使用Bd_Log::notice(),应该使用Bd_Log::AddNotice()
2.5 parent-phplib库公共方法
parent-phplib库封装了公共的ds,service和util,开发时统一使用公共库的方法,不要重复造轮子
使用手册见wiki:parent-phplib库使用手册
2.6 rpc调用
每个项目调用一个第三方服务时,在library/XX/rpc/目录下封装一个类来统一封装这个第三方服务的所有接口,不要在其他地方分散去单独写,方便维护和管理
2.7 接口规范
入参和出参字段必须使用驼峰
2.7 其他
不要直接复制目录或者文件到其他项目,按需获取,无效的代码要删除测试接口不要对外发布,如果有测试需要一定要继承内网的action
3 mysql
3.1 表设计
表名称以tbl开头,驼峰格式命名,字段名字使用下划线的格式,不要用驼峰非text字段一定要设置NOT NULL注意id字段的长度,比如公司的用户uid一定要用bigint记录id不要用自增id,要用发号器生成的id
3.2 表注释
一定要写表名称和字段的注释,自增id也需要写注释枚举字段主要把每个值含义写到注释里
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~