有一个组织叫做“php互操作性框架制定小组”,这个小组的主要目的是制定各种PHP编码规范的,下面就是我根据小组提供的建议整理的一些常用的编码规范。
PSR-1:
1、PHP代码文件必须以<?php 或<?=标签开始。
2、PHP代码必须以不带BOM的UTF-8编码。
3、类名必须遵循大驼峰命名规范。(首字母大写的驼峰命名)
4、方法名必须遵循小驼峰命名规范。(首字母小写的驼峰命名)
5、类中的常量所有字母必须大写,单词之间使用_(下划线)分割。
6、类中的属性可以使用大驼峰、小驼峰、下划线分割等,不做强制规范。
 
PRS-2:
1、代码必须使用4个空格而非tab键缩进。(使用空格而不是tab键缩进的好处在于, 避免在比较代码差异、打补丁、重阅代码以及注释时产生混淆。 并且,使用空格缩进,让对齐变得更方便。)
2、代码每行建议在80个字符之内,一定不能超过120个字符。
3、每个namespace命名空间声明语句和use声明语句块后边必须插入一个空白行,并且use必须在namespace之后。
4、类的一对花括号{}必须自成一行。
5、方法的一对花括号{}必须自成一行。
6、类的属性和方法必须添加访问修饰符(private、public、protected),abstarct和final必须声明在访问修饰符之前,而static必须声明在访问修饰符之后。
7、控制结构(if、while等结构语句)的关键字后必须要有一个空格,而调用函数或方法一定不能有。
8、控制结构的({)必须写在声明的同一行,而(})必须单成一行。
9、控制结构的左括号后和右括号前一定不能有空格。
10、所有php文件必须以一个空白行作为结束。
11、纯php代码文件必须省略最后的?>结束标签。
12、php所有的关键字必须小写,常量true、false、null也必须小写。
13、方法的参数中,每个参数后面必须要有一个空格,而前面一定不能有空格。有默认值的参数必须放在参数列表末尾。
整理完成后发现组织最早的PRS-1规范中都是一些很基础的,php程序员一般都知道,而PRS-2相对来说就很具体了,很多资深工程师在编码的时候也许会不自觉的用到,但不写出来还真不会注意。
下面就是我做的一个标准的代码:

PHP编码规范整理,很全很实用(图文版)的更多相关文章

  1. PEP8 Python 编码规范整理(转)

    决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此 ...

  2. python——PEP8 Python 编码规范整理

    决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此 ...

  3. PEP8 Python 编码规范整理(Python)

    add by zhj: 这个是豆瓣网友整理的PEP8,算是PEP8的一个简易版本,因为原PEP8内容太多,所以建议先看这篇文章,然后再看PEP8中文翻译 原文:http://www.douban.co ...

  4. python 编码规范整理

    PEP8 Python 编码规范 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不要使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号. ...

  5. .Net编码规范整理

    前言 此处只是整理并记录下.Net开发规范以便加深编码规范.一个好的编程规范可以让自己程序可读性,让自己编码更规范,分为两部分:通用规范..Net开发规范. 微软通用编程规范 明确性和一致性 库的使用 ...

  6. Android WebView常见问题及解决方案汇总【很全很实用】

    http://www.cnblogs.com/olartan/p/5713013.html

  7. PEP8 Python 编码规范整理

    一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类 ...

  8. 【转】【很全很新】C3P0 连接池和 DBUtils 配合事务使用总结

    [转]https://blog.csdn.net/guozhaohui628/article/details/84793028 很久没用原生连接池,最近想写个小功能,结果发现很多地方不太懂,然后网上搜 ...

  9. 很全很全的JavaScript的模块讲解

    介绍 模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元.所谓模块化主要是解决代码分割.作用域隔离.模块之间的依赖管理以及发布到生产环境时的自动化打包与处理等多个方 ...

随机推荐

  1. 团体程序设计天梯赛-练习集L1-023. 输出GPLT

    L1-023. 输出GPLT 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一个长度不超过10000的.仅由英文字母构成的 ...

  2. saltstack远程操作WINDOWS的POWERSHELL脚本

    这个东东,花了两天来查找资料和测试,终于算是搞定.作记录: 直接在MASTER上执行的命令: salt '*' cmd.script salt://scripts/windows_task.ps1 a ...

  3. Zookeeper + Hadoop + Hbase部署备忘

    网上类似的文章很多,本文只是记录下来备忘.本文分四大步骤: 准备工作.安装zookeeper.安装hadoop.安装hbase,下面分别详细介绍: 一 准备工作 1. 下载 zookeeper.had ...

  4. Java 向Hbase表插入数据异常org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apache.client.HTable

    出错代码如下: //1.create HTablePool HTablePool hp=new HTablePool(con, 1000); //2.get HTable from HTablepoo ...

  5. shell中截取字符串的方法总结

    shell中截取字符串的方法有很多种, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...

  6. 关于DataTables一些小结

    最近项目中使用了DataTables,故小结了一下. 导入CSS文件<link rel="stylesheet" href="<%=base %>/js ...

  7. 在自己的网站上实现QQ授权登录

    最近在实现QQ授权登录,现将我的实现过程以及我的理解整理如下.以下所述如有不对之处,请指正. 官方提供的SDK有:JS,PHP,Java.我的网站使用Scala+Play搭建的,所以只能用JS SDk ...

  8. C#基础精华06(Linq To XML,读取xml文件,写入xml)

    1.XML概述: 可扩展标记语言XML(eXtensible Markup Language)是一种简单灵活的文本格式的可扩展标记语言,侧重于存储数据. 2.XML特点 xml 标记语言 html x ...

  9. Subversion安装和使用

    Subversion(SVN)是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.SVN分为客户端和服务器端,一般服务器端安装在服务器上,我们开发者用的都是客户端.TortoiseSVN是 ...

  10. poj2823

    这是一道题意简单,数据较大的题(喜闻乐见): 一开始可能会想到RMQ问题,ST,线段树都是O(nlogn),应该勉强能过(没试过): 由于这道题区间是滚动连续的,所以,可以使用单调队列! 以最小值为例 ...