PHP编码规范整理,很全很实用(图文版)

有一个组织叫做“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相对来说就很具体了,很多资深工程师在编码的时候也许会不自觉的用到,但不写出来还真不会注意。

下面就是我做的一个标准的代码:

时间: 2024-08-03 17:15:48

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

PEP8 Python 编码规范整理(Python)

add by zhj: 这个是豆瓣网友整理的PEP8,算是PEP8的一个简易版本,因为原PEP8内容太多,所以建议先看这篇文章,然后再看PEP8中文翻译 原文:http://www.douban.com/note/134971609/ 决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此编码了,还会持续更新. PEP8 Python 编码规范 一 代

python——PEP8 Python 编码规范整理

决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此编码了,还会持续更新. PEP8 Python 编码规范 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类和top-level函数定义之间空两行:类

PEP8 Python 编码规范整理--转自豆瓣

http://www.douban.com/note/134971609/ PEP8 Python 编码规范 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类和top-level函数定义之间空两行:类中的方法定义之间空一行:函数内逻辑无关段落之间空一行:其他地方尽量不要再空行. 二 文档编排1 模块内容的顺序:模块说明和docstring—imp

PEP8 Python 编码规范整理[转]

PEP8 Python 编码规范,仅供参考,不必完全遵守. 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tab,更不能混合使用Tab和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类和top-level函数定义之间空两行:类中的方法定义之间空一行:函数内逻辑无关段落之间空一行:其他地方尽量不要再空行. 二 文档编排1 模块内容的顺序:模块说明和docstring-import-globals&constants-其他定

PEP8 Python 编码规范整理

(转载自http://blog.csdn.net/kellyseeme/article/details/50644893) 1.    代码布局设计 1.1    缩进 A.   使用四个空格来进行缩进 B.   换行的时候可以使用反斜杠,最好的方法是使用园括号,在使用反斜杠的时候,在反斜杠的后直接回车,不能有任何空格存在 比较好的做法如下: 对准开始的分隔符: # Aligned with opening delimiter. foo = long_function_name(var_one,

Angular 编码规范整理

代码中对所有东西的命名,一律采用驼峰命名法,例如checkProperty,而不要命名为 check_property- 关于类型的总体原则,包括变量.方法返回值.形参等,全部加上类型,并且类型越具体越好.any类型的变量尽可能的少用. - 作用域大于等于类时,必须严格遵守这个规范,不允许无类型.包括类的成员变量.成员方法(形参和返回值),包括全局变量.方法. - 对于函数的局部变量.代码块内的局部变量,在编译器能够精确推导得到其类型时,可以忽略类型.比如 `const a = "a strin

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

[转]https://blog.csdn.net/guozhaohui628/article/details/84793028 很久没用原生连接池,最近想写个小功能,结果发现很多地方不太懂,然后网上搜了半天的 c3p0 相关内容,全不符合我想要的.相同内容太多 而且没什么,所以我自己来总结下吧. 01 总结全文从以下来总结 连接池的作用,为什么要使用连接池书写自己的连接池,用于理解框架 c3p0 等连接池连接池框架 c3p0 使用连接池框架 c3p0 和 DBUtils 的配合使用配合事务的使用

很全很全的 JavaScript 模块讲解

模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元.所谓模块化主要是解决代码分割.作用域隔离.模块之间的依赖管理以及发布到生产环境时的自动化打包与处理等多个方面. 模块的优点 可维护性. 因为模块是独立的,一个设计良好的模块会让外面的代码对自己的依赖越少越好,这样自己就可以独立去更新和改进. 命名空间. 在 JavaScript 里面,如果一个变量在最顶级的函数之外声明,它就直接变成全局可用.因此,常常不小心出现命名冲突的情况.使用模块化开发来封装变量,可以避

python 编码规范PEP8

PEP8 Python 编码规范整理 无规矩不成方圆, 学习python也要遵循相关的编码规范 PEP8 Python 编码规范 一 代码编排 1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格. 2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车. 3 类和top-level函数定义之间空两行:类中的方法定义之间空一行:函数内逻辑无关段落之间空一行:其他地方尽量不要再空行. 二 文档编排 1 模块内容的顺序:模块说明