PHP项目编码规范

合集下载

php 编码规则

php 编码规则

php 编码规则
php的编码规则主要包括以下几个方面:
1.缩进和空格:php代码应该使用一致的缩进方式,通
常使用四个空格作为缩进。

在代码块之间使用空格进行分隔,例如在条件语句、循环、函数调用等地方。

2.命名规范:php变量和函数名应该使用小写字母和下
划线,避免使用驼峰命名法。

类名应该使用大写字母和驼峰命名法。

3.引号使用:字符串应该使用单引号或双引号括起来,
避免混合使用不同类型的引号。

4.代码块:php代码块应该使用花括号({})进行包围,即使代码块为空也应该包含花括号。

5.注释:php代码中应该使用注释来解释代码的功能和
目的。

注释可以使用单行注释(//)或多行注释(/* */)。

6.代码格式化:php代码应该遵循一致的格式化规则,
可以使用代码编辑器或IDE自动格式化功能来确保代码的整齐和一致性。

以上是php编码规则的一些基本要点,当然还有其他一些细节需要注意,如变量命名规范、函数命名规范、代码简洁度等。

PHP编码规范

PHP编码规范

PHP编码规范这是给⼩组制定的php编码规范该 PHP 编码规范基本上是同 PSR 规范的。

有⼀部分的编码规范 PSR 中是建议,此编码规范会强制要求。

此编码规范是以 PSR-1 / PSR-2 / PSR-2扩展为蓝本,并增加了相应的细节说明。

通则基本编码PHP代码必须使⽤<?php ?>长标签或<?= ?>短输出标签;⼀定不可使⽤其它⾃定义标签。

PHP代码必须且只可使⽤不带BOM的UTF-8编码⼀份PHP⽂件中应该要不就只定义新的声明,如类、函数或常量等不产⽣从属效应的操作,要不就只有会产⽣从属效应的逻辑操作,但不该同时具有两者“从属效应”(side effects)⼀词的意思是,仅仅通过包含⽂件,不直接声明类、函数和常量等,⽽执⾏的逻辑操作。

“从属效应”包含却不仅限于:⽣成输出、直接的require或include、连接外部服务、修改 ini 配置、抛出错误或异常、修改全局或静态变量、读或写⽂件等。

以下是⼀个错误的例⼦,⼀份包含声明以及产⽣从属效应的代码:<?php// 从属效应:修改 ini 配置ini_set('error_reporting', E_ALL);// 从属效应:引⼊⽂件include "file.php";// 从属效应:⽣成输出echo "<html>\n";// 声明函数function foo(){// 函数主体部分}下⾯是⼀个范例,⼀份只包含声明不产⽣从属效应的代码:<?php// 声明函数function foo(){// 函数主体部分}// 条件声明**不**属于从属效应if (! function_exists('bar')) {function bar(){// 函数主体部分}}⽂件所有PHP⽂件必须使⽤Unix LF (linefeed)作为⾏的结束符。

psr 规范

psr 规范

psr 规范PSR(PHP Standards Recommendations)是由PHP-FIG(PHP Framework Interop Group)组织制定的一系列PHP编码规范。

这些规范旨在为PHP开发人员提供统一的代码风格和最佳实践,以便增加代码的可读性、可维护性和可扩展性。

以下是对PSR规范的简要描述:1. PSR-1: 基本编码规范PSR-1规范主要定义了PHP代码的基本要求,包括文件命名空间、文件编码方式、类命名和文件自动加载规则等。

2. PSR-2: 代码风格指南PSR-2规范描述了PHP代码的一般样式规则,如缩进、行长度、命名约定、代码块间的空格等。

遵循这些规范可以提高代码的可读性和一致性。

3. PSR-3: 日志接口PSR-3规范定义了一套通用的日志接口,使得不同的日志库可以互相兼容。

该规范主要包括日志级别、记录消息和记录上下文等内容。

4. PSR-4: 自动加载规范PSR-4规范指定了类和命名空间之间的映射关系,使得自动加载类变得更加简单和可维护。

该规范要求将类的命名空间与文件路径结构一致。

5. PSR-6: 缓存接口PSR-6规范定义了一套通用的缓存接口,使得不同的缓存库可以互相兼容。

该规范主要包括缓存快照、读写操作和数据过期等内容。

6. PSR-7: HTTP消息接口PSR-7规范定义了一套通用的HTTP消息接口,包括请求和响应的处理、URI解析和文件上传等功能。

该规范使得不同的HTTP库可以互相兼容。

PSR规范的制定和推广对于提高PHP开发人员的编码质量和效率起到了积极的推动作用。

遵循PSR规范可以使代码更易于理解、维护和协作,也有助于提高整个开发团队的编码水平和一致性。

因此,对于PHP开发人员来说,熟悉并遵循PSR 规范是非常重要的。

PHP编码规范

PHP编码规范

PHP编码规范1. 前⾔源码⽂件必须采⽤UTF-8编码,且不得有BOM头,某些历史遗留的GBK模块除外。

编码风格没有太多的好坏之分, 最重要的是风格保持⼀致,编码规范有助于规范我们编码的风格,使代码具有更好的可读性。

PHP在百度内部应⽤得越来越⼴泛,但是却缺乏相应的编码规范⽀持,编码风格百家齐放,不利于我们代码的维护和传承,根据⼤家平时的开发情况,制定了此PHP编码规范。

每项规范前⾯的[强制]代表该规范需要强制执⾏,[建议]代表推荐执⾏但不强制。

注: ⽂中所有的变量名前⾯为了⽅便没有加”$”, ⽰意即可。

本⽂档风格约定部分可能跟你的喜好有冲突,请尽量⽤包容的⼼态来阅读。

有任何问题或建议,欢迎跟我们讨论:2. 排版2.1. [强制][PHP002] 程序块要采⽤缩进风格编写,缩进的空格数建议为4个,单模块内必须统⼀。

解释不同的缩进风格对代码的可读性影响很⼤,以tab为缩进单位在不同的tab step 下可读性也相差很多,所以将缩进定为⼀个soft tab即4个空格,这样在所有环境下缩进都会保持⼀致。

2.2. [建议]关键字与其后的左括号之间有⼀个空格,⽽函数名与左括号之间不应有任何字符包括空格。

解释虽然很多情况下编辑器的highlight已经做了区分,但是从格式上区分关键字和函数适⽤于所有的情况。

⽰例关键字 if (a > b) 函数名 funcA()2.3. [建议]开始的⼤括号位于⼀⾏的末尾,结束的括号位于最末⼀⾏后,且独占⼀⾏。

⾸括号也可另起⼀⾏,但⼀个模块内必须统⼀。

⽰例if (a > b) { }2.4. [强制] [PHP003] if/while等结构体,即使只有⼀⾏,也必须加上花括号,不得写成⼀⾏。

解释这样做可读性更好,并且⽅便修改。

⽰例if (a > b) { a = 1; }2.5. [建议]⼀⾏代码不得超过120个字节,建议控制在80字节内;⼀个函数不得超过500⾏,建议控制在100⾏以内。

Thinkphp编码规范

Thinkphp编码规范

Thinkphp编码规范●统一编码:UTF-8●路径规范●../Public:会被替换成当前项目的公共模板目录通常是/项目目录/Tpl/default/Public/●__PUBLIC__:会被替换成当前网站的公共目录通常是 /Public/●__TMPL__:会替换成项目的模板目录通常是/项目目录/Tpl/default/●__ROOT__:会替换成当前网站的地址(不含域名)●__APP__:会替换成当前项目的URL地址(不含域名)●__URL__:会替换成当前模块的URL地址(不含域名)●__ACTION__:会替换成当前操作的URL地址(不含域名)●__SELF__:会替换成当前的页面URL●●命名规范●类名: 首字母大写其他字母都由小写的单词组成,eg:class IndexAction●接口名: I+名称+Service,eg:interface IBussinessService(如果接口名太长了就不用services)●方法名: 第1个单词的首字母小写,后面单词的首字母大写eg:public function index(){}●方法的参数: 使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字.eg: setCounter($size){}●变量名:变量的名字必须用一个小写字母开头。

后面的单词首字母大写,eg:$user●常量名:所有字母大写,如果有多个字母应该用下划线分开,eg:THINK_PATH●Html文件命名规范●后台增加内容:add.html●后台修改内容:update.html●全部内容列表:list.html●单个内容详细显示:content.html●后台内容管理:admin.html●Lib文件命名规范●Action文件:(名字,首字母大写)+Action eg: IndexAction.class.php●Model文件:(名字,首字母大写)+Model eg:UserModel.class.php●注释规范(我们要严格按照规范完整地写出注释,因为以后要导出的API文档)●PHP代码的注释:1、类(模块)注释:例子:/*** <功能的描述>* @author <作者中文名>* @version 1.0* create Date <创建日期,格式:November 05, 2010>*/eg:/***作用于整站首页栏目和整站首页文章的存取* @author 谭锐* @version 1.0* Create Date November 03, 2010*/2、方法注释:在每个函数或者过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。

php编码规范

php编码规范

php编码规范PHP编码规范是一组约定俗成的规范,用于指导PHP开发者在编写PHP代码时的一些基本规则和最佳实践。

遵循编码规范可以提高代码的可读性、可维护性和可扩展性,提高团队协作效率,减少潜在的BUG。

下面是一个包含大概1000字的PHP编码规范,用于参考:1. 缩进使用4个空格,不要使用制表符。

2. 使用Unix风格的换行符(LF),不使用Windows风格的换行符(CRLF)。

3. 文件名使用小写字母,单词之间使用下划线分隔,如:my_class.php。

4. 类名使用驼峰命名法,首字母大写,如:MyClass。

5. 方法名、变量名使用驼峰命名法,首字母小写,如:myMethod、myVariable。

6. 常量名使用全大写字母,单词之间使用下划线分隔,如:MY_CONSTANT。

7. 代码行长度不超过80个字符。

8. 使用空行将代码块分隔开来,提高可读性。

如:类的方法之间、方法内的逻辑块之间。

9. 使用注释解释代码的用途,特别是复杂的逻辑或处理。

10. 使用类型声明,标明函数的参数和返回值的类型。

如:function myFunction(string $param): int。

11. 尽量避免使用全局变量,尽量使用依赖注入的方式传递参数。

12. 使用命名空间(Namespace)进行代码组织和隔离,避免命名冲突。

13. 使用PHP内建函数时,参数之间用逗号分隔,参数和函数名之间没有空格。

如:strlen($str)。

14. 类的属性和方法的可见性要标明清楚,根据需要使用public、protected、private进行修饰。

15. 使用异常进行错误处理,而不是依赖返回值来判断是否发生错误。

16. 在代码中使用单引号''来表示字符串,除非特殊情况需要使用双引号""。

17. 不要使用eval函数执行动态代码,避免安全风险。

18. 使用PDO或mysqli来处理数据库操作,避免SQL注入和其他安全问题。

psr规范

psr规范

psr规范PSR 规范是 PHP 社区制定的规范和标准,以促进开发人员编写出更具可读性、可维护性和可重用性的 PHP 代码。

PSR 是PHP Standard Recommendation 的缩写,意为 PHP 标准建议。

今天我来详细介绍一下 PSR 规范。

PSR 规范的目标是提供一套统一的规范,使 PHP 代码可以跨不同的项目和开发团队之间进行共享和协作。

这样做有助于提高代码的质量、减少维护成本,并提供一致的开发体验。

PSR 规范分为多个不同的部分,每个部分都涵盖了不同方面的规范。

以下是其中一些重要的部分:1. PSR-1:基本编码规范这个规范定义了 PHP 代码的基本结构和编码风格。

它要求使用 <?php 标记开始 PHP 代码,禁止使用闭合标记 ?>。

此外,还规定了类名使用 StudlyCase 命名法,方法名和属性名使用camelCase 命名法,常量名使用全大写字母和下划线。

此外,还规定了对代码缩进使用四个空格,并要求遵循一些常见的编码约定。

2. PSR-4:自动加载规范这个规范定义了如何组织和加载 PHP 类文件。

它要求将每个命名空间与一个根目录对应起来,类文件名必须与类名一致,并按照目录结构进行存储。

PSR-4 规范简化了代码的自动加载过程,使得在项目中使用类自动加载更加方便和统一。

3. PSR-12:扩展的编码风格规范这个规范扩展了 PSR-1 中的编码风格要求,提供了更详细的编码规范。

它包括对代码缩进、空白行、注释、命名空间、类和方法的结构等方面的具体规定。

PSR-12 旨在进一步统一PHP 代码的编码风格,简化代码的维护和阅读。

除了上述几个主要的规范外,还有一些其他的 PSR 规范,如PSR-2(已废弃,合并到 PSR-12 中)、PSR-3(日志接口)、PSR-6(缓存接口)等。

每个规范都有其特定的目的和规定,开发者可以根据自己的需求选择适合的规范。

遵循 PSR 规范的好处是明显的。

项目开发规范(编码规范、命名规范、安全规范、前端优化、源码提交规范、代码维护规范、产品发布规范)

项目开发规范(编码规范、命名规范、安全规范、前端优化、源码提交规范、代码维护规范、产品发布规范)

项⽬开发规范(编码规范、命名规范、安全规范、前端优化、源码提交规范、代码维护规范、产品发布规范)第⼀节:编码过程的命名约定(编码命名规范)==========================================================================================================================PHP编码规范=============================================================================================================================PSR(PHP Standard Recommendations,PHP标准规范)是由PHP FIG组织制定的PHP规范,是PHP开发的实践标准。

主要包含基础编码规范、编码风格规范、⽇志接⼝规范、缓存接⼝规范、HTTP消息接⼝规范等。

1. 【必须】代码必须使⽤4个空格符⽽不是「Tab 键」进⾏缩进。

使⽤空格⽽不是「tab键缩进」的好处在于,避免在⽐较代码差异、打补丁、重阅代码以及注释时产⽣混淆。

并且,使⽤空格缩进,让对齐变得更⽅便。

2. 【必须】类的属性和⽅法必须添加访问修饰符(private、protected 以及 public),abstract 以及 final 必须声明在访问修饰符之前,⽽static 必须声明在访问修饰符之后。

3. 【必须】PHP所有关键字必须全部⼩写。

常量 true 、false 和 null 也必须全部⼩写。

4. 【不该】类的属性和⽅法不该使⽤下划线作为前缀,来区分是 protected 或 private。

⽬录和⽂件⽬录使⽤⼩写+下划线。

(参考linux⽬录命名,全部⼩写,linux⽬录单词间没有分隔符,如/var/spool/clientqueue,/etc/inittab,/bin/dnsdomainname等)类的⽂件名均以命名空间定义,并且命名空间的路径和类库⽂件所在路径⼀致。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PHP项目编码规范
排版规范
1、程序块采用缩进风格,缩进空格为4
2、关键字与其后的左括号之间有一个空格,而函数名与左括号之间不应有任何字符包括空格。

3、开始的大括号位于下一行的开始,结束的括号位于最末一行后,且都是独占一行。

4、if/while等结构体,即使只有一行,也必须加上左右花括号,不允许写成一行。

5、函数名与其后的左括号之间不应有任何空格。

函数调用的左括号与其第一个参数之间不应有任何空格。

最后一个参数与右括号之间不应有任何空格。

参数列表的逗号后面应有一个空格。

6、尽量减少if的层级嵌套。

(尽量保证在2层嵌套以内)
7、过长的表达式应另起一行。

If语句的条件若较多较长,应折行,且新行以逻辑运算符起始,与第一行if左括号后的第一个字符对齐。

折行后,每行条件具有独立而明确的语义。

8、多行的“=”可能的话,尽量对齐
9、Switch语句中每个case的break,必须和case间,保持4个空格的缩进
10、初始化array如果采用多行结构时,数据项部分需要缩进,且最后一个数据项后面的逗号不可省略
命名规范
1、全局变量以g_开头。

2、常量命名全部使用大写字符,单词之间以’_’链接
3、对于代码中的常量(尤其是魔法数字),必须用静态类中的常量来表示。

不允许直接写
在代码中。

4、关键字true,false,null必须使用小写。

5、私有函数命名需要加上’_’前缀,以及第一个单词首字母小写。

6、类的成员方法命名采用驼峰式命名,动宾结构(如:getName())。

普通方法采用过程
式函数风格命名
7、文件命名使用小写字母,单词之间以’_’连接。

8、类名以大写字母开头,每个单词的首字母大写。

抽象类与接口,以I字母开头。

父类以
Base作为类名的前缀。

注释规范
函数以及类的成员变量,视情况加上必要的注释。

可以是非文档性的注释,注意使用大白话描述。

编码原则
1、对于函数返回值的判断,特别是true/false,用===/!==来判断。

2、对于值的判断,变量需放在符号右边,值放在左边。

3、生成一个对象时,必须使用new ClassName()的方式,不能使用new ClassName
4、所有文件路径都需要利用框架中提供的QFrameConfig来写成绝对路径
5、对于长时间运行的脚本并且含有占用内存较大的变量,使用完后,必须先赋值null,
再unset掉,避免内存占用过多。

6、对于系统操作,尽可能避免使用exec等函数来调用shell命令。

7、除非特殊情况,否则不允许使用require和include,而使用对应的require_once
和include_once。

8、预定义变量一律使用短格式,即:$_POST, $_GET, $_SERVER, $_ENV, $GLOBALS,
$_COOKIE, $_SESSION, $_REQUEST, $_FILES等,不再使用长格式:$_HTTP_POST_VARS, $_HTTP_GET_VARS。

9、尽量不要再PHP代码中出现HTML标签,将模板和代码分离。

10、前端访问必须有日志记录
11、数据库读写操作必须有日志记录
12、对文件更新操作,必须先写到一个临时文件中,然后用rename/mv操作。

13、字符串尽量用’’而不是””进行引用。

14、函数允许使用默认参数,但默认参数需要放到参数列表最后面。

相关文档
最新文档