欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅析PHP开发规范

程序员文章站 2022-07-04 21:34:09
基本约定 源文件 代码使用 文件格式必须是无bom utf-8格式 一个文件只声明一种类型,...

基本约定

源文件

代码使用<?php开头,忽略闭合标签?>

文件格式必须是无bom utf-8格式

一个文件只声明一种类型,如class和interface不能混写在一个源文件中

缩进

使用4个空格来缩进,ide可以设置

行长度

每行120个字符

关键字

所有关键字均为小写,如true、false

命名

类名为大驼峰法,如usermodel

类方法名为小驼峰法,如getuserid()

函数使用小写字母加_组合,如get_cookie()

变量名使用小驼峰法,如$userid

常量定义为大写字母加_组合,如is_debug

代码注释标签

类文件中对类、方法、属性进行注释,使用@param @return @throwns

@param注释写出详解,如@param string $username 用户名

业务模块

路由为小写字母加_组成,如/api/get_user_info

view层负责数据展示

controller层负责输入参数校验,最外层捕捉异常,调用logic和view视图层

logic层负责具体业务逻辑,调用model层,返回处理数据

model层负责数据表查询和关联关系

异常类需分清功能,如paramexception表示参数错误,userexception表示自定义异常

异常需分类定义code,使用php类常量代替,如

<?php
namespace app\exceptions\codes;

class userexceptioncode extends baseexceptioncode {
  const no_auth       = 1000001;
  const no_auth_msg     = '不具有权限';
  const status_exception   = 1000002;
  const status_exception_msg = '状态异常';    
}

数据表文件如有enum类型,使用php类常量代替,如

<?php
namespace app\enums;

class userenum extends baseenum {
  const status_deleted = -1;// 已删除
  const status_disable = 0;// 禁用
  const status_enable = 1;// 正常

  const auth_guest     = 1;// 匿名用户
  const auth_general_admin = 2;// 普通管理员
  const auth_super_admin  = 3;// 超级管理员
}

其中status和auth为数据表映射字段名

api接口输出,示例

{
  "code" : 0,
  "msg" : "success",
  "data" : {
    "userid" : 100
  }
}

其中code与msg为必填字段,data为空的情况下不填,示例

{
  "code" : 100001,
  "msg" : "不具有权限"
}

其它

数组,键为字符串时候使用单引号,只有一个键时候使用单行,示例

$arr = [ 'userid' => 100 ];

多个键时候使用多行,示例

$arr = [
  'id'    => 100,
  'username' => 'admin',
];

字符串使用单引号'