在写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果。比如:

1、提高我们的编码效率。整齐划一的代码方便我们进行复制粘贴哦!

2、提高代码的可读性。

3、显示我们专业。别人看到了我们的代码,发现整个代码的书写流程都整齐划一,瞬间逼格就上去了!

4、方便团队协同工作。大家使用同一的规范,这样就消除了五花八分的书写方式,同一协调!

养成规范书写代码的好习惯

那么一起来看下都有那些规范呢?

文件与行

  • PHP 代码文件必须以 <?php起;

  • 代码必须使用4个空格符而不是 tab 键进行缩进;

  • PHP 代码文件必须以 不带 BOM 的 UTF-8 编码;

  • 纯 PHP 代码文件必须省略最后的 ?> 结束标签;

  • 所有 PHP 文件必须以一个空白行作为结束;

  • 所有 PHP 文件必须使用Unix LF (linefeed)作为行的结束符;

  • 视图文件中的 PHP 代码(模板代码除外)必须使用 <?php ?> 长标签 或 <?= ?> 短输出标签;一定不可使用其它自定义标签。

  • 非空行后一定不能有多余的空格符;

  • 每行的字符数应该保持在80个之内, 不应该多于120个;

  • 每行一定不能存在多于一条语句。

类,方法,属性

  • 命名空间以及类必须符合 PSR 的自动加载规范:PSR-4;

  • PHP代码中应该只定义类、函数、常量等声明或只定义其他会产生 从属效应 的操作(如:生成文件输出、引入文件以及修改 ini 配置文件等),二者只能选其一;

  • 类的命名必须遵循 StudlyCaps 大写开头的驼峰命名规范;

  • 类中的常量所有字母都必须大写,单词间用下划线分隔;

  • 方法名称必须符合 camelCase 式的小写开头驼峰命名规范;

  • use声明必须位于namespace声明之后, 每个 namespace 命名空间声明语句块和 use 声明语句块后面,必须插入一个空白行;

  • 类与方法的开始花括号({)必须写在函数声明后自成一行,结束花括号(})也必须写在函数主体后自成一行;

  • 关键词 extends 和 implements必须写在类名称的同一行;

  • 每条语句一定不能定义超过一个属性,一定不可使用关键字 var 声明一个属性;

  • 类的属性和方法必须添加访问修饰符(private、protected 以及 public),不要使用下划线_作为前缀来区分属性是 protected 或 private;

  • 需要添加 abstract 或 final 声明时, 必须写在访问修饰符前,而 static 则必须写在其后;

  • 方法及函数的声明和调用时,方法名或函数名与参数左括号之间一定不能有空格,参数左括号后与右括号前也一定不能有空格,参数列表中每个逗号后面必须要有一个空格,而逗号前面一定不能有空格。

PHP命名规范

控制结构

  • 控制结构转折(else、else if、catch 以及 do ... while 结构中的 while)关键字与上一结构体的结束花括号(})必须写在同一行中,两者之间一定有一个空格;

  • 控制结构的开始花括号({)必须写在声明的同一行,而结束花括号(})必须写在主体后自成一行;

  • 控制结构的关键字后必须要有一个空格,右括号 ) 与开始花括号 { 间也一定有一个空格;

  • 条件括号左括号后与右括号前一定不能有空格,两个子句句之间(分号之后)一定有一个空格;

  • 每个结构体的主体都必须被包含在成对的花括号之中。

闭包

  • 开始花括号必须写在声明的同一行,结束花括号必须紧跟主体结束的下一行;

  • 闭包声明时,关键词 function 后以及关键词 use 的前后都必须要有一个空格;

  • 参数列表和变量列表的左括号后以及右括号前,必须不能有空格;

  • 参数和变量列表中,逗号前必须不能有空格,而逗号后必须要有空格。

变量与关键字

  • PHP所有 关键字 必须全部小写,常量 true 、false 和 null 也必须全部小写;

  • 变量赋值和比较(包括控制结构条件语句和数组中)的操作符(=、>、< 以及 =>)两端必须各有一个空格,但自增(++)自减(--)操作变量与符号之间一定不能有空格;

  • 变量声明应该使用下划线分隔的小写字母,不应该使用非通用的单词简写,不应该出现英文以外的拼写或简写;

  • array、emtpy、isset、unset 等关键字括号内的变量两端必须不能有多余的空格;

  • 数组声明和使用都应该使用[] 代替 array();

  • 需要换行数组变量的声明,数组开始符号([ 或 array()应该和操作符在同一行,数组的第一个元素应该在新的一行开始,且与上一行之间必须保持一个缩进,数组的结束符号([ 或 ])必须新起一行,且应该与变量的第一个字符对齐。

勿忘初心,方得始终

转载于:https://www.cnblogs.com/du892294464/p/6901476.html

php命名规则几点内容相关推荐

  1. [转]常用的CSS命名规则

    (壹)常用的CSS命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrappe ...

  2. 贴片铝电容识别及型号_TDK贴片电容识别方法及命名规则

    原标题:TDK贴片电容识别方法及命名规则 TDK贴片电容识别方法及命名规则,TDK是Tokyo Denkikagaku Kogyo K.K的简称.是日本的一个品牌.今天我们一起来学习一下如何识别TDK ...

  3. dw中css目标规则命名,css 常用样式命名规则

    大家在写css的时候,对一些html标签起一个合适的名字是个很头疼的事情,现在给大家分享项目中常用的名字供参考. 外套:wrap  --用于最外层 头部:header  --用于头部 主要内容:mai ...

  4. python语言变量名规则_python语言变量命名规则

    Python语言变量命名规则 变量名只能包含字母.数字和下划线.(推荐学习:Python视频教程) 变量名可以字母或下划线开头,但不能以数字开头.例如,可将变量命名为message_1,但不能将其命名 ...

  5. 【Python】标识符 ( Python 标识符命名规则 - 强制性 | 内容限定 | 大小写敏感 | 非关键字 | Python 标识符命名规范 - 建议性 | 下划线命名法 | 英文字母全小写 )

    文章目录 一.Python 标识符 1.Python 标识符命名规则 ( 强制性 ) 2.Python 标识符命名规范 ( 建议性 ) 二.代码示例 1.内容限定代码示例 2.大小写敏感 3.非关键字 ...

  6. Java中类、常量、变量、方法名等命名规则

    Java中类.常量.变量.方法名等命名规则 命名规则: 命名由字母.数字.下划线.美元符号($)构成. 命名不可以数字作为开头. 长度无限制,但不可存在空格. 大小写所表述内容含义不同. 命名不可与J ...

  7. web标准化设计:常用的CSS命名规则

    常用的CSS命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左 ...

  8. [转]Windows与VC命名规则

    转自:http://hi.baidu.com/11158512/blog/item/0fbd5535cbfb5d1c91ef3970.html 匈牙利命名法是一种编程时的命名规范.基本原则是:变量名= ...

  9. 常用的CSS命名规则

    网页设计中常用的CSS命名规则: 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wra ...

最新文章

  1. 隐秘的角落——一个CIO的惊魂72小时
  2. Google Maps Android API V2使用及问题解决
  3. 腾讯产品经理的一天是啥样的?
  4. 朱林北京大学计算机学院,北大、清华状元谈英语学习经验-20210411145045.docx-原创力文档...
  5. python six库_six库 解决python2的项目如何能够完全迁移到python3
  6. 在上位计算机控制时不能将s7-200,plc控制系统编程题库.doc
  7. linux中export与source的作用
  8. rank()over 函数的使用
  9. MySQL工具名字_MySQL客户端工具及SQL讲解
  10. Niginx笔记-Linux上源码安装Niginx
  11. 完全弄懂如何用pycharm安装pyqt5及其相关配置
  12. BZOJ1876 SDOI2009 SuperGCD 其他
  13. Flutter基础—质感设计
  14. 如何设计优秀的满意度调查问卷?
  15. Capsule-LPI:基于胶囊网络的LncRNA-蛋白质相互作用预测工具
  16. linux Ubuntu 安装的搜狗双拼输入法只有五笔解决办法附安装教程
  17. uniapp 中如何使用echart_uni-app中使用Echarts绘画图表
  18. matlab求信号的瞬时相位,phrase MATLAB中关于信号瞬时相位 频率的提取的代码,值得学习,很实用 267万源代码下载- www.pudn.com...
  19. ICPR MTWI 2018 挑战赛三:网络图像的端到端文本检测和识别算法架构
  20. populate方法在哪里?

热门文章

  1. MongoDb进阶实践之一 如何在Linux系统上安装和配置MongoDB
  2. C++函数返回局部变量
  3. 蓝牙技术联盟宣布开放蓝牙网关架构 IoT设备无须Wi-Fi即可联网
  4. windows服务与其他进程使用MemoryMappedFile
  5. 红帽:IaaS与PaaS齐头并进
  6. HTTP404错误原因
  7. 梦如果实现以后。。。。。。
  8. Navigator对象
  9. laravel接口开发JWTAuth
  10. 作家如何利用Git更好地完成工作