PHP命名规范: 山东艾思软件科技有限公司, 内部学习资料;

 说明:

  1. 已经约定的名称, 能用必须用;
  2. 除专用名字外, 变量函数的命名必须使用英文命名; 常用单词表里没有合适的命名的使用翻译软件进行翻译, 并添加到单词表中; 由部门管理人员定期更新单词表
  3. 命名单词除已经非常明确, 或在单词表中已经明确缩写方式的, 尽量避免使用单词缩写; 拼音使用全拼(专有名词外不允许使用拼音).
  4. 一个命名不能使用一个单词能表达清楚时, 可以使用多个单词组合形成一个名称; 当简洁性和表达性冲突时, 以表达性优先. 如: getUserRoleMenuTree

 

已约定的名称及函数:

  1. p(): 打印数组, 集合, 变量, 对象的函数, 调试时使用
  2. result: 一般做为数据查询结果的接收变量, 可简写为: res, rst, rs, 一般不推荐简写, $data, $list;
  3. key: 键, 可简写为$k, $ke. 同一代码块中需要定义不同的key时, 采用由少到多的原则
    value: 值, 可简写为: $v, $val. 如foreach嵌套
    foreach($rs as $k => $v )
        foreach($rst as $ke => $val )
            foreach($result as $key => $value )
  4. Model, Validate, Controller命名规则, 参与命名的主要有三部分: 数据库表名二级前缀(Prefix=>Pre), 数据库表名(Table), 控制器关键词(Controller);
    Model: PreTable
    Validate: PreTable
    Controller: TableController
  5. 接收数据字段的变量和数据库字段保持一致, 接收数据表集合的, 以$list, $result, $表名命名. 如:
    1. $list : 接收到是一个一维数组
    2. $result: 接收的是个经过方法组装的非一维数组; 是一个函数返回的结果
    3. $nickname: 是直接接收的nickname字段的字符串
    4. $表名: 当$list有冲突时直接使用表名或$表名_list接收
  6. 已经确定部分:
    1. 方法: edit, lists,del, ls, search, deltail,
    2. 类: BaseController, CommonController, GenralController, CommonModel,
    3. 属性: $this->model, $this->validate, $this->fields(注意系统的$this->fields), $this->order,
    4. 常量: $this->user, UID, ROLE_ID, NOW_TIME, cache(‘config’),
    5. 字段(表): token, sort, name, title, type, remark, describe, value, username, nickname(realname), avatar, email, mobile, usable, is_***, ***_label, password, create_time, update_time, title, icon, role, rule, user, confige, department, position, company
    6. 模型函数: getPageList(), getList(), getDetail(),
    7. 公用函数: p(), rand_str(), check_mobile(), usable_label(), is_label(), sex_label(), json_return();
    8. 变量: $where, $data, $list, $result, $id, $ids, $keyword, $filed,
    9. 传参: p, page_size, count, list, _child, status, info, data, id, ids, keyword

 

编辑

 

 

THINKPHP命名规范(官方)

 

目录和文件

  • 目录不强制规范,驼峰和小写+下划线模式均支持;
  • 类库、函数文件统一以.php为后缀;
  • 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
  • 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);

 

函数和类、属性命名

  • 类的命名采用驼峰法,并且首字母大写,例如 User、UserType,默认不需要添加后缀,例如UserController应该直接命名为User;
  • 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip;
  • 方法的命名使用驼峰法,并且首字母小写,例如 getUserName;
  • 属性的命名使用驼峰法,并且首字母小写,例如 tableName、instance;
  • 以双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;

 

常量和配置

  • 常量以大写字母和下划线命名,例如 APP_PATH和 THINK_PATH;
  • 配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert;

 

数据表和字段

  • 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文作为数据表字段命名。

 

 

山东艾思软件科技有限公司,是专业的App定制开发, 网站制作企业;为企业提供从软件开发整合运营的一整套方案。App定制开发包括: 办公ERP, OA, CMS, CRM类定制开发, 聊天类APP开发, 电商商城类, 各种制度

posted on   朋友圈自动点赞工具  阅读(24)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示