PHP命名规范

参考自ThinkPHP5的命名规范 目录和文件 框架核心类库的目录统一使用小写规范,但应用目录名不强制规范,驼峰法和小写+下划线均支持,看团队规范; 类库、函数文件统一以.php为后缀; 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致(包括大小写); 类名和类文件名保持一致,并统一采用驼峰法命名(首字母大写) 函数和类、属性命名 类的命名采用驼峰法,并且首字母大写,例如User、UserType,不需要添加controller、model等后缀,UserController直接更改为User; 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如get_client_ip; 方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如getUserName,_parseType,通常下划线开头的方法属于私有方法; 属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如tableName、_instance,通常下划线开头的属性属于私有属性; 以双下划线“__”打头的函数或方法作为魔法方法,例如__call和__autoload; 常量和配置 常量以大写字母和下划线命名,例如APP_DEBUG和APP_MODE; 配置参数以小写字母和下划线命名,例如url_route_on; 数据表和字段 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如think_user表和user_name字段,类似_username这样的数据表字段可能会被过滤。 应用类库命名空间规范 应用类库的根命名空间统一为app(可以设置APP_NAMESPACE更改);例如:app\index\controller\Index和app\index\model\User。

December 17, 2022 · 1 min · 19 words · jabin

接口开发规范

统一返回格式 { "code": 200, "data": { "title": "Default Api", "content": "PHPer您好,欢迎使用PhalApi!", "version": "1.1.0", "time": 1423142802 }, "msg": "" } 状态码描述 1xx 应用自定义错误 2XX 成功 200: OK。一切正常。(正常用这个即可) 201: 响应 POST 请求时成功创建一个资源。Location header 包含的URL指向新创建的资源。 202: 已接受用于处理,但处理尚未完成。 203: 部分信息 — 返回的信息只是一部分。 204: 该请求被成功处理,响应不包含正文内容 (类似 DELETE 请求)。 3XX 重定向,接口修改时适用 304: 资源没有被修改。可以使用缓存的版本。 302: 请求的数据临时具有不同 URI。 306: 不再使用,保留此代码以便将来使用。 4XX 客户机中出现的错误,影响服务器处理 400: 错误的请求。可能通过用户方面的多种原因引起的,例如在请求体内有无效的JSON 数据,无效的操作参数,等等。 401: 验证失败。 403: 已经经过身份验证的用户不允许访问指定的 API 末端。 404: 所请求的资源不存在。 405: 不被允许的方法。 请检查 Allow header 允许的HTTP方法。 415: 不支持的媒体类型。 所请求的内容类型或版本号是无效的。 422: 数据验证失败 (例如,响应一个 POST 请求)。 请检查响应体内详细的错误消息。 429: 请求过多。 由于限速请求被拒绝。 5XX 服务器中出现的错误 500: 内部服务器错误。 这可能是由于内部程序错误引起的。 501: 请求还没有被实现。比如说,我们请求一个接口来自动拒绝项目经理的要求,但是这个接口只是美好的想象,并没有被实现,这时候可以返回 501。 502: 网关错误。比如说,我们向服务器 A 请求下载葫芦娃,但是 A 其实只是一个代理服务器,他得向 B 请求葫芦娃,但是不知道为啥 B 不理他或者给他错误,这时候哦可以 A 返回 502 用来表示 B 这家伙傲娇了。 503: 服务暂时不可用。比如说,服务器正好在更新代码重启。 504:网关超时,类似 502,但是这时候是 B 不理 A,超时了 。 505:HTTP 版本不受支持,服务器不支持请求中所使用的 HTTP 协议版本。

December 16, 2022 · 1 min · 119 words · jabin