PHP开发各种规范,面试秘籍!

前端之家收集整理的这篇文章主要介绍了PHP开发各种规范,面试秘籍!前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@基本约定

文件

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

@H_502_0@文件格式必须是无BOM UTF-8格式

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

缩进

@H_502_0@使用4个空格来缩进,IDE可以设置

行长度

@H_502_0@每行120个字符

关键字

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

命名

@H_502_0@类名为大驼峰法,如UserModel

@H_502_0@类方法名为小驼峰法,如getUserId()

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

@H_502_0@变量名使用小驼峰法,如$userId

@H_502_0@常量定义为大写字母加_组合,如IS_DEBUG

代码注释标签

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

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

 

业务模块

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

@H_502_0@View层负责数据展示

@H_502_0@Controller层负责输入参数校验,最外层捕捉异常,调用Logic和View视图层

@H_502_0@Logic层负责具体业务逻辑,调用Model层,返回处理数据

@H_502_0@Model层负责数据表查询和关联关系

@H_502_0@异常类需分清功能,如ParamException表示参数错误,UserException表示自定义异常

@H_502_0@异常需分类定义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 = '状态异常';    
}
@H_502_0@ 

@H_502_0@数据表文件如有Enum类型,使用PHP类常量代替,如

<?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;// 超级管理员
}
@H_502_0@ 

@H_502_0@其中STATUS和AUTH为数据表映射字段名

@H_502_0@Api接口输出,示例

{
  "code" : 0,"msg" : "success","data" : {
    "userId" : 100
  }
}
@H_502_0@ 

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

{
  "code" : 0,"data" : {
    "userId" : 100
  }
}
@H_502_0@ 

其它

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

$arr = [ 'userId' => 100 ];
@H_502_0@ 

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

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

@H_502_0@还有很多很多规范,大家可以去找一些学习!

猜你在找的PHP面试题相关文章