PHP开发编码规范
php 编码规则
php 编码规则
php的编码规则主要包括以下几个方面:
1.缩进和空格:php代码应该使用一致的缩进方式,通
常使用四个空格作为缩进。
在代码块之间使用空格进行分隔,例如在条件语句、循环、函数调用等地方。
2.命名规范:php变量和函数名应该使用小写字母和下
划线,避免使用驼峰命名法。
类名应该使用大写字母和驼峰命名法。
3.引号使用:字符串应该使用单引号或双引号括起来,
避免混合使用不同类型的引号。
4.代码块:php代码块应该使用花括号({})进行包围,即使代码块为空也应该包含花括号。
5.注释:php代码中应该使用注释来解释代码的功能和
目的。
注释可以使用单行注释(//)或多行注释(/* */)。
6.代码格式化:php代码应该遵循一致的格式化规则,
可以使用代码编辑器或IDE自动格式化功能来确保代码的整齐和一致性。
以上是php编码规则的一些基本要点,当然还有其他一些细节需要注意,如变量命名规范、函数命名规范、代码简洁度等。
python编码规范
python编码规范Python是一种广泛使用的高级编程语言,编写出符合规范和易于阅读的代码对于代码的可维护性和可读性至关重要。
本文将介绍一些Python编码规范的准则,以帮助开发者编写出更规范的Python代码。
一、命名规范1. 变量和函数名应该以小写字母开始,如果变量名包含多个单词,可使用下划线(_)进行分隔,例如:my_variable。
2. 类名应该以大写字母开始,如果类名包含多个单词,单词间使用驼峰命名法,例如:MyClass。
3. 常量名应该全部使用大写字母,并用下划线进行分隔,例如:MAX_SIZE。
4. 私有属性或方法应以一个下划线(_)开头,例如:_private_variable。
二、缩进与空格1. 使用四个空格进行缩进,而不是制表符。
这样可以保持代码在不同编辑器和平台上的一致性。
2. 操作符之间应添加适当的空格,例如:a = b + c,而不是a=b+c。
3. 函数或类的定义与其后的代码块之间应该有两个空行,并且分别用一个空行将代码块内的逻辑分开。
三、注释规范1. 使用行注释(#)解释代码的意图或功能。
注释应该清晰明了,尽量避免使用废话或无关的描述。
2. 为函数和类编写文档字符串,其中包含其功能、输入参数、返回值等相关信息。
文档字符串应该简洁明了,并遵循一定的格式规范,如使用标准的reStructuredText或Google风格的文档字符串格式。
四、代码规范1. 每行代码的长度应不超过79个字符。
如果一行代码过长,可以使用括号或反斜杠进行换行。
对于括号换行,可以将括号内的内容换行并适当缩进,使代码更易读。
2. 避免一行代码包含多个语句,即每行代码只包含一个语句。
3. 在运算符的周围添加适当的空格,使代码更易读。
例如:a = b + c,而不是a=b+c。
4. 使用适当的空行将代码分组,提高可读性。
例如:可以在函数定义后使用一个空行进行分隔,将不同功能的代码块区分开来。
5. 避免使用魔法数字,应使用常量或变量来表示。
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编码规范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⾏以内。
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 规范是 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编码格式
php编码格式
PHP的编码格式主要有两种,分别是ASCII和UTF-8。
ASCII (American Standard Code for Information Interchange) 是一个将字符转换为数字的编码系统,它使用1个字节(8位)表示一个字符。
UTF-8 (Unicode Transformation Format-8) 是一种使用变长编码的Unicode字符编码方式。
它可以表示世界上几乎所有的字符,并且兼容ASCII码。
UTF-8使用1至4个字节来表示一个字符,较ASCII编码更加灵活。
在PHP中,可以通过设置相关的编码选项来指定使用哪种编码格式。
例如:
```php
// 使用ASCII编码
header('Content-Type: text/html; charset=ASCII');
// 使用UTF-8编码
header('Content-Type: text/html; charset=UTF-8');
```
一般来说,推荐使用UTF-8编码格式,因为它可以表示更多的字符,并且能够处理多种语言的文本。
在使用PHP程序开发时,也可以使用内置的函数如
mb_convert_encoding()来进行编码转换操作。
php书写规范,最基本的一些规范
函数和方法:和变量的命名一样;如果执行的是动作,则包含动词getName;
类:每一个单词的首字母大写;文件名后缀用.class.php;只允许下划线作为路径的分隔符;连续的大写不允许;
4、数据表和字段
与变量名的一样;
存续多项的时候应以复数呈现;
当几个表的字段有关联时,注意表与表之间的关联字段名的统一,如:forum_articles表的article与另一个表的article相同的字段。利于索引等操作;
php编码书写规范:
1、缩进与空格
按一个tab,同一个程序块中的所有语句上下对齐;
运算符与操作符之间空一格
函数与函数之间,程序块之间空一行; 一行,与对应的关键词if等上下对齐;
小括号与左右字符之间空一格;
3、命名规范:
变量命名:第一个单词首字母小写,其余大写;或者全部是小写中间用下划线隔开;
一份比较全面的PHP开发编码规范
下面是根据经验整理的PHP编码规,可以用作给大家的例和参考,根据需要进行取舍和修改!目录1 编写目的2 整体要求3 安全规3.1 包含文件3.1.1 命名规则3.1.2 存放规则3.2 安全规则3.3 一些针对PHP的规则3.4 其它处理规则3.4.1 对输入参数值进行转义处理3.4.2 操作大HTML文本4 编码规4.1 命名规4.1.1 变量命名4.1.2 类4.1.3 方法或函数4.1.4 缩写词4.1.5 数据库表名4.1.6 数据库字段4.2 书写规则4.2.1 代码缩进4.2.2 大括号{ }书写规则4.2.3 小括号( )和函数、关键词等4.2.4 =符号书写4.2.5 if else swith for while等书写4.2.6 类的构造函数4.2.7 语句断行, 每行控制在80个字符以4.2.8 不要不可思议的数字4.2.9 true/false和0/1判断4.2.10 避免嵌入式赋值4.2.11 错误返回检测规则4.3 程序注释4.3.1 程序头注释块4.3.2 类的注释4.3.3 函数和方法的注释4.3.4 变量或者语句注释4.4 其他规(建议)4.4.1 php代码标记4.4.2 程序文件名、目录名4.4.3 PHP项目通常的文件目录结构4.4.4 PHP和HTML代码的分离问题4.4.5 PHP项目开发中的程序逻辑结构5 特定环境下PHP编码特殊规5.1 变量定义5.2 引用的使用5.3 变量的输入输出1 编写目的为了更好的提高技术部的工作效率,保证开发的有效性和合理性,并可最大程度的提高程序代码的可读性和可重复利用性,指定此规。
开发团队根据自己的实际情况,可以对本规进行补充或裁减。
2 整体要求技术部php开发规将参照PEAR的规,基本采用PEAR指定的规,在其基础上增加、修改或删除部分适合具体开发环境的规。
本规只针对PHP开发过程中编码的规,对于PHP开发项目中文件、目录、数据库等方面的规,将不重点涉与。
PHP编码规范
PHP 编码规范一、文件格式1. 对于只含有 php 代码的文件,我们将在文件结尾处忽略掉 "?>" 。
这是为了防止多余的空格或者其它字符影响到代码。
例如:<?php$foo = 'foo';2. 缩进应该能够反映出代码的逻辑结果,尽量使用四个空格,禁止使用制表符TAB,因为这样能够保证有跨客户端编程器软件的灵活性。
例如:if (1 == $x) {$indented_code = 1;if (1 == $new_line) {$more_indented_code = 1;}}3. 变量赋值必须保持相等间距和排列。
例如:$variable = 'demo';$var = 'demo2';4. 每行代码长度应控制在80个字符以内,最长不超过120个字符。
因为 linux 读入文件一般以80列为单位,就是说如果一行代码超过80个字符,那么系统将为此付出额外操作指令。
这个虽然看起来是小问题,但是对于追求完美的程序员来说也是值得注意并遵守的规范。
5. 每行结尾不允许有多余的空格。
二、命名约定1. 类文件都是以“.class.php“为后缀,且类文件名只允许字母,使用驼峰法命名,并且首字母大写,例如:DbMysql.class.php 。
2. 配置和函数等其他类库文件之外的文件一般是分别以“.inc.php“和”.php“为后缀,且文件名命名使用小写字母和下划线的方式,多个单词之间以下划线分隔,例如config.inc.php , common.php,install_function.php 。
3. 确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的。
4. 类名和文件名一致(包括上面说的大小写一致),且类名只允许字母,例如 UserAction类的文件命名是UserAction.class.php, InfoModel类的文件名是InfoModel.class.php 。
PHP程序编码规范
.程序编码规范1、基本的编码规范,与国际接轨,见附录The PHP Coding Standard (中文版| 英文版) ;2、新的程序/项目的服务器配置中,php.ini关闭error_reporting, register_globals, magic_gpc, session.auto_start,需要查看错误信息的在程序中设置,但正式上线的项目要保证及时关闭;3、新的程序/项目都采用UTF-8编码,包括数据库、程序(无BOM)和页面(无BOM)等;4、新的程序/项目都使用公司开发框架SimplePHP;5、新的大中型程序/站点都要经过压力测试调整改进后上线;6、使用统一的IDE,保证团队的编码格式和一些细节的统一,目前公司统一使用;ZendStudio/Zend Studio for Eclipse7、原则上不允许修改Simple框架核心代码,即SimplePHP目录下的所有文件,如有需要,请通知框架维护升级人员评估处理,Simple框架在下一步计划中将大幅度调整改进,以满足开发需求;8、目录名只能使用英文字母加阿拉伯数字及下划线的组合字符串,而一些重要的并且用户能直接访问到的后台管理目录不能直接使用像admin,tool之类的常用单词来命名。
9、特定目录统一命名:模板目录views,语言包目录langs,配制目录config。
目录名统一全小写命名。
10、文件名(包括成生的静态页面,缓存等文件)尽量使用小写字母命名,必要时用下划线连接,但不能出现空格。
框架控制器文件必须保证第一个字母为大写,其它均为小写,以保证大小写链接均可正常使用;11、尽量使用公共的类库(公共的类库收集整理在进行中,并且将不断补充完善);12、站点/项目主程要负责编写、补充站点/项目文档(包括站点/项目说明,系统架构说明,目录/文件结构说明,接口说明,更新历史,手册文档);开发文档统一存放在项目的根目录(不是WEB根目录)下doc目录的dev目录。
11个PHP开发编码规范
从设计之初,PHP 被广泛用于开发基于Web 的应用程序。
由于PHP 是一种脚本语言,开发的时候必须遵守一些规范。
本文将讨论常用的良好的代码习惯,或者称为代码规范,在PHP 领域。
1,错误报告开启错误报告是在PHP 中一个非常有用的功能,应同时在开发阶段启用。
这可以帮助我们确定我们的代码中的问题。
最常用的功能是“E_ALL ”,这有助于我们发现所有的警告和严重错误。
必须指出的是,我们把我们的代码投入上线前,我们应该关闭这个功能提示,否则会在浏览器上的暴漏所有潜在错误及警告。
2,使用DRY 原则‘Do not Repeat Yourself ’,DRY 原则指的是不要重复你的代码.。
这个概念是一个非常有用的编程概念,可硬应用在任何编程语言,如Java ,C #或PHP 均可以。
使用DRY 原则,确保我们在程序中没有冗余的代码。
违反 DRY 原则的解决方案通常被称为 WET ,指代“write everything twice ”,我们写的相同功能的代码会出现多次以上,别大家戏称是喜欢打字。
让我们看看到下面的代码:Listing1:WET 代码方式:1 $mysql = mysql_connect ( 'localhost', 'mysqladmin_uid', 'mysqladmin_pwd' );2 mysql_select_db( 'DB_NAME' ) or die( "Sorry !! No database selected!");下面使用DRY 原则优化代码:1 $db_host = ' localhost ';2 $db_user = ' mysqladmin_uid ';3 $db_password = ' mysqladmin_pwd ';4 $db_database = ' DB_NAME ';5 $mysql = mysql_connect($db_host, $db_user, $db_password);6 mysql_select_db($db_database);3,适当的使用缩进及空格在使用任何一种编程语言编写代码时,必须确保代码在需要的地方提供在必要适当的缩进和足够的空格。
php 代码规范 标准
php 代码规范标准PHP代码规范标准。
在进行PHP编程时,遵循一定的代码规范标准是非常重要的。
良好的代码规范可以提高代码的可读性、可维护性,有助于团队协作和代码质量的提升。
下面将介绍一些PHP代码规范标准的内容,希望能够对大家有所帮助。
1. 缩进和空格。
在PHP代码中,通常使用4个空格来进行缩进,而不是使用Tab键。
这样可以保持不同编辑器之间的一致性,并且可以避免在不同编辑器中出现排版混乱的情况。
另外,在运算符和逗号后面应该留一个空格,这样可以增加代码的可读性。
2. 命名规范。
在PHP代码中,变量、函数和类的命名应该具有一定的规范性。
通常情况下,变量名采用小写字母和下划线的组合,函数名采用小驼峰式命名法,而类名采用大驼峰式命名法。
这样可以使命名更加清晰明了,方便他人阅读和理解代码。
3. 注释。
良好的注释可以让他人更容易理解你的代码。
在PHP代码中,应该养成良好的注释习惯,对关键的代码逻辑进行注释说明,特别是一些复杂的算法和业务逻辑。
另外,注释应该使用英文书写,避免使用中文注释,以免出现乱码问题。
4. 代码结构。
在PHP代码中,应该遵循一定的代码结构规范,例如合理的文件目录结构、文件命名规范等。
另外,应该避免在一个文件中编写过多的代码,可以将一些相关的功能进行拆分,形成独立的模块,这样可以提高代码的可维护性。
5. 安全性。
在PHP编程中,安全性是非常重要的一个方面。
应该避免使用过时的PHP版本,及时更新代码中存在的安全漏洞,对用户输入的数据进行有效的过滤和验证,以防止SQL注入、XSS攻击等安全问题。
6. 错误处理。
良好的错误处理可以提高代码的健壮性和稳定性。
在PHP代码中,应该养成良好的错误处理习惯,对可能出现的异常情况进行适当的处理,避免出现未捕获的异常导致程序崩溃的情况。
7. 性能优化。
在PHP编程中,性能优化也是非常重要的一个方面。
应该避免在循环中进行大量的数据库查询和文件操作,尽量减少不必要的资源消耗,优化SQL查询语句,合理使用缓存等手段来提高程序的性能。
01 PHP编码标准化规范(含PSR、ThinkPHP、可打印排版)
一、PSR规范要求关键词・ 必须 (MUST)、・ 一定不能 (MUST NOT)、・ 需要 (REQUIRED)、・ 将会 (SHALL)、・ 不会 (SHALL NOT)、・ 应该 (SHOULD)、・ 不该 (SHOULD NOT)、・ 推荐 (RECOMMENDED)、・ 可以 (MAY)、・ 可选 (OPTIONAL)。
二、PSR-1基本编码规范本规范制定了代码基本元素的相关标准,以确保共享的PHP代码间具有较高程度的技术互通性。
1. 概览・PHP代码文件必须以 <?php 或 <?= 标签开始;・PHP代码文件必须以 不带BOM的 UTF-8 编码;・PHP代码中应该只定义类、函数、常量等声明,或其他会产生 从属效应 的操作(如:生成文件输出以及修改.ini配置文件等),二者只能选其一;・命名空间以及类必须符合 PSR 的自动加载规范: PSR-4;・类的命名必须遵循 StudlyCaps 大写开头的驼峰命名规范;・类中的常量所有字母都必须大写,单词间用下划线分隔;・方法名称必须符合 camelCase 式的小写开头驼峰命名规范。
2. 文件2.1. PHP标签PHP代码必须使用 <?php ?> 长标签 或 <?= ?> 短输出标签;一定不可使用其它自定义标签。
2.2. 字符编码PHP代码必须且只可使用不带BOM的utf-8编码。
2.3. 从属效应(副作用)一个PHP文件根据单一职责原则,应该只定义新的声明,如类、函数或常量等不产生从属效应的操作,或者只有会产生从属效应的逻辑操作,但不该同时具有两者。
从属效应(side effects)一词的意思是,仅仅通过包含文件,不直接声明类、 函数和常量等,而执行的逻辑操作。
从属效应包含却不仅限于:生成输出、直接的 require 或 include、连接外部服务、修改 ini 配置、抛出错误或异常、修改全局或静态变量、读或写文件等。
PHP编码规范整理,很全很实用(图文版)
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、⽅法的参数中,每个参数后⾯必须要有⼀个空格,⽽前⾯⼀定不能有空格。
php开发规范
php开发规范PSR-[0-4]PSR —— Proposing a Standards RecommendationPSR-0 (Autoloading Standard) ⾃动加载标准PSR-1 (Basic Coding Standard) 基础编码标准PSR-2 (Coding Style Guide) 编码风格向导PSR-3 (Logger Interface) ⽇志接⼝PSR-4 (Improved Autoloading) ⾃动加载的增强版,可以替换掉PSR-0了。
PSR-11. PHP源⽂件必须只使⽤ <?php 和 <?= 这两种标签。
2. 源⽂件中php代码的编码格式必须是不带字节顺序标记(BOM)的UTF-8。
3. ⼀个源⽂件建议只⽤来做声明(类(class),函数(function),常量(constant)等)或者只⽤来做⼀些引起副作⽤的操作(例如:输出信息,修改.ini配置等),但不建议同时做这两件事。
4. 命名空间(namespace)和类(class) 必须遵守PSR-0标准。
5. 类名(class name) 必须使⽤骆驼式(StudlyCaps)写法 (注:驼峰式(cameCase)的⼀种变种,后⽂将直接⽤StudlyCaps表⽰)。
6. 类(class)中的常量必须只由⼤写字母和下划线(_)组成。
7. ⽅法名(method name) 必须使⽤驼峰式(cameCase)写法。
PSR-2⽂件末尾必须空⼀⾏。
必须使⽤Unix LF(换⾏)作为⾏结束符。
纯PHP代码源⽂件的关闭标签?>必须省略。
缩进必须使⽤4个空格来缩进⼀⾏推荐的是最多写80个字符php的关键字,必须⼩写,boolean值:true,false,null 也必须⼩写命名空间命名空间(namespace)的声明后⾯必须有⼀⾏空⾏。
所有的导⼊(use)声明必须放在命名空间(namespace)声明的下⾯。
php标准写法
PHP 的标准写法通常是基于PHP-FIG(PHP Framework Interoperability Group)提出的一系列规范,特别是PSR-1、PSR-2 和PSR-4。
以下是PHP 的一些标准写法的建议:### 1. **PSR-1:基本编码标准**- 文件必须使用`<?php` 或`<?=`(短标签)开始。
- 文件必须以不带BOM 的UTF-8 编码。
- 命名空间和类必须遵循自动加载标准,一个文件只包含一个类。
### 2. **PSR-2:代码风格规范**- 使用4 个空格的缩进,不要使用制表符。
- 每行不超过80 列,建议每行不超过120 列。
- 类的开始花括号`{` 必须在类声明的同一行。
- 方法的开始花括号`{` 必须在方法声明的同一行。
- 方法参数列表和闭括号`)` 之间不允许有空格。
### 3. **PSR-4:自动加载规范**- 类必须遵循PSR-0 或PSR-4 自动加载标准。
- 类名必须和文件路径匹配。
### 4. **命名规范**- 类名使用驼峰式(CamelCase)命名,首字母大写。
- 方法名使用驼峰式,首字母小写。
- 常量名全部大写,用下划线分隔单词。
- 变量名使用驼峰式,首字母小写。
### 5. **注释规范**- 使用`//` 进行单行注释,避免使用`#`。
- 使用`/* */` 进行多行注释。
- 注释应该清晰、简洁,解释代码的目的和关键信息。
### 6. **错误处理**- 使用异常处理而不是错误码。
- 自定义异常应该继承自`\Exception`。
### 7. **安全性**- 避免直接拼接SQL 查询字符串,使用参数化查询或ORM。
- 防止SQL 注入、XSS 攻击等安全问题。
这些规范和建议有助于编写清晰、一致、易读、易维护的PHP 代码。
你也可以根据具体项目或团队的需求进行适度的调整,但保持一致性是很重要的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHP开发编码规范2. 命名规则2.1. 合适的命名命名是程序规划的核心。
古人相信只要知道一个人真正的名字就会获得凌驾于那个人之上的不可思议的力量。
只要你给事物想到正确的名字,就会给你以及后来的人带来比代码更强的力量。
别笑!名字就是事物在它所处的生态环境中一个长久而深远的结果。
总的来说,只有了解系统的程序员才能为系统取出最合适的名字。
如果所有的命名都与其自然相适合,则关系清晰,含义可以推导得出,一般人的推想也能在意料之中。
如果你发觉你的命名只有少量能和其对应事物相匹配的话,最好还是重新好好再看看你的设计吧。
2.2. 类命名·在为类(class )命名前首先要知道它是什么。
如果通过类名的提供的线索,你还是想不起这个类是什么的话,那么你的设计就还做的不够好。
·超过三个词组成的混合名是容易造成系统各个实体间的混淆,再看看你的设计,尝试使用(CRC Session card)看看该命名所对应的实体是否有着那么多的功用。
·对于派生类的命名应该避免带其父类名的诱惑,一个类的名字只与它自身有关,和它的父类叫什么无关。
·有时后缀名是有用的,例如:如果你的系统使用了代理(agent ),那么就把某个部件命名为“下载代理”(DownloadAgent)用以真正的传送信息。
2.3. 方法和函数命名·通常每个方法和函数都是执行一个动作的,所以对它们的命名应该清楚的说明它们是做什么的:用CheckForErrors()代替ErrorCheck(),用DumpDataToFile()代替DataFile()。
这么做也可以使功能和数据成为更可区分的物体。
·有时后缀名是有用的:o Max - 含义为某实体所能赋予的最大值。
o Cnt - 一个运行中的计数变量的当前值。
o Key - 键值。
例如:RetryMax 表示最多重试次数,RetryCnt 表示当前重试次数。
·有时前缀名是有用的:o Is - 含义为问一个关于某样事物的问题。
无论何时,当人们看到Is就会知道这是一个问题。
o Get - 含义为取得一个数值。
o Set - 含义为设定一个数值例如:IsHitRetryLimit。
2.4. 缩写词不要全部使用大写字母·无论如何,当遇到以下情况,你可以用首字母大写其余字母小写来代替全部使用大写字母的方法来表示缩写词。
使用: GetHtmlStatistic.不使用: GetHTMLStatistic.理由·当命名含有缩略词时,人们似乎有着非常不同的直觉。
统一规定是最好,这样一来,命名的含义就完全可以预知了。
举个NetworkABCKey的例子,注意C是应该是ABC里面的C还是key里面的C,这个是很令人费解的。
有些人不在意这些,其他人却很讨厌这样。
所以你会在不同的代码里看到不同的规则,使得你不知道怎么去叫它。
例如class FluidOz // 不要写成FluidOZclass GetHtmlStatistic // 不要写成GetHTMLStatistic2.5. 类命名·使用大写字母作为词的分隔,其他的字母均使用小写·名字的首字母使用大写·不要使用下划线(_)理由·根据很多的命名方式,大部分人认为这样是最好的方式。
例如class NameOneTwoclass Name2.6. 类库命名·目前命名空间正在越来越广泛的被采用,以避免不同厂商和团体类库间的类名冲突。
·当尚未采用命名空间的时候,为了避免类名冲突,一般的做法是在类名前加上独特的前缀,两个字符就可以了,当然多用一些会更好。
例如John Johnson的数据结构类库可以用Jj做为前缀,如下:class JjLinkList{}另一种折中方式是建立包含类库目录(事实上Java也是这么做的),以不同的目录代表不同的命名空间。
例如Microsoft的数据库相关类库可以在:/classes/com/Microsoft/ Database/DbConn.phpApache的数据库相关类库可在:/classes/org/apache/Database/DbConn.php2.7. 方法命名·采用与类命名一致的规则理由·使用所有不同规则的大部分人发现这是最好的折衷办法。
例如class NameOneTwo{function DoIt() {};function HandleError() {};}2.8. 类属性命名·属性命名应该以字符…m‟为前缀。
·前缀…m‟后采用于类命名一致的规则。
· …m‟总是在名字的开头起修饰作用,就像以…r‟开头表示引用一样。
理由·前缀m防止类属性和方法名发生任何冲突。
你的方法名和属性名经常会很类似,特别是存取元素。
例如class NameOneTwo{function VarAbc() {};function ErrorNumber() {};var $mVarAbc;var $mErrorNumber;var $mrName;}2.9. 方法中参数命名·第一个字符使用小写字母。
·在首字符后的所有字都按照类命名规则首字符大写。
理由·可以区分方法中的一般变量。
·你可以使用与类名相似的名称而不至于产生重名冲突。
例如class NameOneTwo{function StartYourEngines(&$rSomeEngine,&$rAnotherEngine);}2.10. 变量命名·所有字母都使用小写·使用_作为每个词的分界。
理由·通过这一途径,代码中变量的作用域是清晰的。
·所有的变量在代码中都看起来不同,容易辨认。
例如function HandleError($errorNumber){$error = OsErr($errorNumber);$time_of_error = OsErr->GetTimeOfError(); $error_processor = OsErr->GetErrorProcessor();}2.11. 引用变量和函数返回引用·引用必须带…r‟前缀理由·使得类型不同的变量容易辨认·它可以确定哪个方法返回可更改对象,哪个方法返回不可更改对象。
例如class Test{var mrStatus;function DoSomething(&$rStatus) {};function &rStatus() {};}2.12. 全局变量·全局变量应该带前缀…g‟。
理由·知道一个变量的作用域是非常重要的。
例如global $gLog;global &$grLog;2.13. 定义命名/ 全局常量·全局常量用_分隔每个单词。
理由这是命名全局常量的传统。
你要注意不要与其它的定义相冲突。
例如define("A_GLOBAL_CONSTANT", "Hello world!");2.14. 静态变量·静态变量应该带前缀…s‟。
理由·知道一个变量的作用域是非常重要的。
例如function test(){static $msStatus = 0;}2.15. 函数命名·函数名字采用C GNU的惯例,所有的字母使用小写字母,使用_分割单词。
理由·这样可以更易于区分相关联的类名。
例如function some_bloody_function(){}2.16. 错误返回检测规则·检查所有的系统调用的错误信息,除非你要忽略错误。
·为每条系统错误消息定义好系统错误文本以便include。
3. 书写规则3.1. 大括号{} 规则在三种主要的大括号放置规则中,有两种是可以接受的,如下的第一种是最好的:·将大括号放置在关键词下方的同列处:if ($condition) while ($condition){ {... ...} }·传统的UNIX的括号规则是,首括号与关键词同行,尾括号与关键字同列:if ($condition) { while ($condition) {... ...} }理由·引起剧烈争论的非原则的问题可通过折衷的办法解决,两种方法任意一种都是可以接受的,然而对于大多数人来说更喜欢第一种。
原因就是心理研究学习范畴的东西了。
对于更喜欢第一种还有着更多的原因。
如果您使用的字符编辑器支持括号匹配功能的话(例如vi),最重要的就是有一个好的样式。
为什么?我们说当你有一大块的程序而且想知道这一大块程序是在哪儿结束的话。
你先移到开始的括号,按下按钮编辑器就会找到与之对应的结束括号,例如:if ($very_long_condition && $second_very_long_condition){...}else if (...){...}从一个程序块移动到另一个程序块只需要用光标和你的括号匹配键就可以了,不需找匹配的括号。
3.2. 缩进/制表符/空格规则·使用制表符缩进。
·使用三到四个空格为每层次缩进。
·不再使用只要一有需要就缩排的方法。
对于最大缩进层数,并没有一个固定的规矩,假如缩进层数大于四或者五层的时候,你可以考虑着将代码因数分解(factoring out code)。
理由·许多编程者支持制表符。
·当人们使用差异太大的制表符标准的话,会使阅读代码变得很费力。
·如此多的人愿意限定最大的缩进层数,它通常从未被看作是一件工作。
我们相信程序员们会明智的选择嵌套的深度。
例如function func(){if (something bad){if (another thing bad){while (more input){}}}}3.3. 小括号、关键词和函数规则·不要把小括号和关键词紧贴在一起,要用空格隔开它们。
·把小括号和函数名紧贴在一起。
·除非必要,不要在Return返回语句中使用小括号。
理由·关键字不是函数。
如果小括号紧贴着函数名和关键字,二者很容易被看成是一体的。
例如if (condition){}while (condition){}strcmp($s, $s1);return 1;3.4. 别在对象架构函数中做实际的工作别在对象架构构造函数中做实际的工作,构造函数应该包含变量的初始化和(或)不会发生失败的操作。