欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    Php编程规范.docx

    • 资源ID:12992426       资源大小:58.57KB        全文页数:19页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Php编程规范.docx

    1、Php编程规范PHP 编程规范(试行)前 言为规范 PHP 开发的编码风格,提高开发效率和降低开发人员的时间成本,建立统一的 PHP 开 发标准体系,依据国际、国内相关标准、法规,参照国际、国内通行的职业技能标准制定本规范。本规范由大连市经济和信息化委员会提出并归口。 本规范项目召集单位: 本规范项目专家组:本规范主要起草单位:本规范起草人: 本规范于二一年十一月四日首次发布。PHP 编程规范1. 适用范围本规范规定了 PHP 开发当中的代码编写格式、注释及命名规则、错误及异常的处理方法、 性能与安全的操作准则。确立了 PHP 开发工作的一般原则。针对 PHP 开发过程当中模糊不清的 约定给出

    2、了统一明确的约定指南。本标准适用于从事 PHP 开发的相关企业、开发团队、教育和培训服务机构以及相关决策等 机构,针对 PHP 开发工作进行约定、检验、鉴定以及针对 PHP 开发人员的技术培训。2. 定义和术语2.1 PHP 语言PHP 是基于服务端应用和创建动态网页的多用途脚本语言,可嵌入 HTML,并支持主流数 据库和操作系统。2.2 程序代码程序代码是一系列计算机系统可以识别的,人类可读的具有特定含义的计算机语言字符集 合。3. 代码编写格式3.1 代码标记PHP 程序可以使用或来界定 PHP 代码,在 HTML 页面中嵌入纯变量时, 可以使用这样的形式。3.2 缩进PHP 程序中缩进宜

    3、按标准键盘的 1 个“TAB”键,即 4 个空格为单位,一段程序中不应出 现两种缩进的规则。3.3 长度a)单个函数的有效代码长度应控制在 100 行以内,不包括注释行。b)单个类的有效代码长度应控制在 1500 行以内,不包括注释行。3.4 行宽每行 PHP 代码的行宽宜设置为 80 个字符。3.5 间隔a)操作符两端应各空一个字符。 b)相应独立的功能模块之间应使用注释行间隔,并标明相应内容。 c)程序体上下之间应加入一个空白行,不应使用多空行。3.6 对齐a)关系密切的代码行应对齐,例如类型、修饰、名称、参数等。b)连续赋值时应对齐操作符。 c)方法参数过多时应在每个参数的逗号后换行并对

    4、齐。 d)控制或循环中的条件大于行宽时,应在操作符前换行,对齐并注释相应条件。 e)变量定义应通过添加空格对齐操作符,同一类型的变量应放在一起。3.7 括号a)小括号(“( )”)使用过程中,“(”应和函数的关键词紧贴在一起,除此以外宜使用空 格将“(”同前面的内容分开;右括号“)”除后面是“)”或者是“.”以外,其它内容应一律用 空格隔开;b)大括号(“ ”)中的语句应单独作为一行,其中: “”应紧跟语句后; “”应单独一行与程序体第一个字符对齐,并说明相应匹配的功能模块;c)较长的方法以及类、接口等的后应使用/end .等标识结束。例如: 类的结束符:/EOC ClassName,方法结束

    5、符:/end methodName(), 功能块结束:/end if.userName is null? 循环体结束:/end for.every user in userList 示例:?Php /代码标记 3.1/缩进 3.2- for($i = 0; $i 0)$n = $i;/变量对齐 3.6-$count = 100;$length = 0;$user_name = null;$porduct = array(); /声明数组/参数对齐 3.6- getConnection($url,$user_name,$password). /getConnection()结束/换行对齐 3.6

    6、-$sql = SELECT * . FROM TProduct WHERE Prod_ID = .$prod_id;/条件对齐- if( Condition1 /当条件一& Condition2 /并且条件二| Condition3) /或者条件三./操作符两边空格-$result = ($a + 1) * 3 / 2 + $num).Test;$condition ? func1($var) : func2($var);4. 注释4.1 预注释预注释中,应包括程序名称、程序版本及修订版本号、CVS(版本控制系统)控制字符串、 更新时间等信息内容。在预注释中,宜放入相应的 CVS 控制字串,

    7、以方便 CVS 提交时自动更 新。宜采用多行注释的方式。预注释示例代码:/*开发组名称和版权声明等$RCSfile:forumdisplay.php,v $Revision:1.75$Date:2006/02/23 13:44:02$*/4.2 类、接口注释在类、接口定义之前,应做相应注释,包括类、接口的目的、作用、功能、继承于何种父 类,实现的接口、实现的算法、使用方法、示例程序等。类、接口注释示例代码:/* 字符串实用类* 定义字符串操作时所需要用到的方法,如转换中文、HTML 标记处理等。* author $Author: l_walker$* version $Revision: 1.

    8、2 $ $Date: 2003/05/15 02:10:27 $*/public class StringUtil4.3 函数方法注释a)应明确该方法的功能、作用、各参数含义及返回值等。 b)若在函数方法内注释复杂算法,应用/*.*/。 c)为参数作注释时应注明取值范围和返回值,还应明确相应失败、错误、异常时的返回情况。 函数方法注释示例代码:/* 执行查询。* 该方法调用 Statement 的 executeQuery(sql)方法并返回 ResultSet* 结果集。* param sql 标准的 SQL 语句* return ResultSet 结果集,若查询失败则返回 null* t

    9、hrows SQLException 当查询数据库时可能引发此异常*/function execute_query($sql) /SQL 语句都不能为空if( != $sql)/返回查询执行结果return mysql_query($sql);return null;/end eexecute_query()4.5 其它注释程序开发中的临时代码和调试代码,应添加注释。譬如:“/debug”。 其它注释示例代码:$num = 1;$flag = TURE;/debug if(empty($flag). /Statements5. 命名5.1 文件文件名应使用小写英文字母和下划线:“_”,文件名不

    10、宜出现数字,不应使用纯数字命名。 可用前缀来明确文件的类别及功能,例如:class_db_mysql.php。5.2 变量变量名中所有字母宜小写。对于一个变量使用多个单词的,应使用下划线_作为每个词 的间隔。例如:$base_dir、$red_rose_price 等。5.3 常量常量应全部使用大写字母命名,少数特别必要的情况下,可以使用下划线来分隔单词;例 如:define(A_GLOBAL_CONSTANT, Hello world!);PHP 的内建值 TRUE、FALSE 和 NULL应全部采用大写字母书写。5.4 类、接口类和接口命名,应以大写字母开头;多个单词组成命名,单词之间不必

    11、使用间隔,各个单 词首字母宜使用大写。类和接口中属性的命名方式参考本规范 5.2 的变量命名规范。例如:class MyClass 或 class DbOracle 等。5.5 方法、函数函数名应一律使用小写格式,如有必要,单词之间宜使用下划线“_”进行分割;以标准计 算机英文为蓝本,可使用拼音、但拼音应该语义清晰明了,不应使用拼音英文混杂的命名方式; 变量命名只能是使用项目中有据可查的英文缩写方式。譬如:宜使用$data 这样的形式,而不宜 使用$data1、$data2 这样容易产生混淆的形式,应使用$theraddata、$postdata 这样容易理解的形 式。6. 声明6.1 类、接

    12、口类的划分代码块不宜太大,避免造成过于庞大的单个类。也不宜太细,避免类的继承太深。 根据类的职责,应当一个类只做一件事,每个类应写在单独一个程序文件中。宜多使用设计模 式,随时重构。多个类中使用相同方法时,应将其方法提到一个接口中或使用抽象类,提高复 用度。6.2 方法一个方法应只完成一项功能。定义系统的公用接口方法以外的方法时,应缩小其可见性。 避免用一个类的实例去访问其静态变量和方法。在一个较长的方法里不应提供多个出口。不应 定义过多的参数列表,应控制在 5 个以内。方法的示例代码如下:/不要使用这钟方式,当处理程序段很长时将很难找到出口点if($condition)return A;el

    13、sereturn B;/建议使用如下方式$result = null;if($condition)$result = A;else$result = B;return $result;6.3 变量任何变量在进行累加、直接显示或存储前应进行声明。 例如:$number = 0; /数值类行声明$string = ; /字符串声明$array = array(); /数组声明判断一个无法确定(不知道是否已被赋值)的变量时,可用 empty()或 isset(),不应直接使用if($switch)的形式。6.4 常量任何常量应在使用前声明,并且常量应在其他声明之前进行声明。6.5 其他在程序代码中不

    14、应直接使用有特殊含义的数字及字符串。直接使用的数字或字符串时应先 定义和说明。示例代码:/错误的示例/22和19 这样的数字,很难知道它的含义,造成理解上的困难。if (22 = $foo)start_thermo_nuclear_war();else if (19 = $foo)refund_lotso_money();else cry_cause_im_lost();/正确的示例代码。/应该用define()来给你想表示某样东西的数值一个真正的名字,/而不应直接采用数字,这样的代码阅读起来清晰明了。 define(PRESIDENT_WENT_CRAZY, 22); define(WE_G

    15、OOFED, 19);if(PRESIDENT_WENT_CRAZY = $foo)start_thermo_nuclear_war();else if(WE_GOOFED = $foo)refund_lotso_money();7. 表达式与语句7.1 控制语句左大括号应与关键词同行,右大括号应与关键字同列。if 结构中,else 和 elseif 与前后两个大括号同行,左右各一个空格;另外,即便 if 后只有一行语句,应加入大括号,以保证结构清晰。switch 结构中,当一个 case 块处理后,应添加 break。break 的位置与 case 同在一行,或 新起一行均可。同一 swit

    16、ch 体中,break 的位置格式应当保持一致。控制语句示例代码:if($condition)switch($var)case 1: echo var is 1; break;case 2: echo var is 2; break;default: echo var is neither 1 or 2; break;elseif($condition)switch($str)case abc;$result = abc;break;default:$result = unknown;break;elseecho unknown;7.2 循环语句在 for 和 while 的循环使用中,对于

    17、continue、break 的使用,应避免导致程序流程混乱, 不易理解和维护障碍。8. 错误与异常8.1 已检查异常与运行时异常已检查异常应捕捉并做相应处理,不能将已检查异常抛到系统之外去处理。 对可预见的运 行时异常应当进行捕捉并处理。8.2 异常错误提示设置在软件开发和调试阶段,如果使用 error_reporting(E_ALL),宜在程序文件的头几行进行 设置。在软件发布时,应使用 error_reporting(E_ERROR | E_WARNING | E_PARSE)作为默认的错 误报告级别,利于用户使用并可将无谓错误提示出现频率降至最低。9. 测试与 BUG 跟踪9.1 测试

    18、基本原则测试要完整并且全面,应将各种可能的情况都测试通过,将可能的 Bug 在开发中捕捉并处 理掉。测试要保证可再测试性。测试应当对数据库等资源不留或少留痕迹。譬如:当测试添加一个用户时,在其成功后应 及时从数据库中删除该记录,避免残余数据的产生。对关键功能应测试并通过。9.2 BUG 跟踪和缺陷处理当系统出现 BUG 时,应由该 DUG 的负责人(代码负责人)尽快修改。 DUG 的处理根 据其优先级高低和重要级别高低先后处理。不应隐瞒 BUG。10. 性能与安全10.1 输入与输出当程序接受输入操作时,应检查输入数据的合法性,避免造成不合法或错误的数据存入数 据库或者导致意料之外的程序操作。

    19、譬如:如果程序以用户输入的参数值做为文件名,进行文 件操作,恶意输入系统文件名会造成系统损毁。应核实对 cookie 的使用以及对用户数据的处理可能出现的问题,避免造成用户数据泄漏。10.2 针对 PHP.INI 的规则设置 register_globals = off10.3 SQL 语句处理规则在程序接到参数需要进行 SQL 操作时,应对特殊符号做转义,尤其要注意分号(”;”)和单 引号(“”)的使用。11. 其它包含调用程序文件,应全部使用 require_once()或 include_once(),以避免可能的重复包含问 题。12. 附录12.1 注释模板?php/* vim: se

    20、t expandtab tabstop=4 softtabstop=4 shiftwidth=4: */ +-+/ | PHP version 4 |/ +-+/ | Copyright (c) 1997-2002 The PHP Group |/ +-+/ | This source file is subject to version 2.0 of the PHP license, |/ | that is bundled with this package in the file LICENSE, and is |/ | available at through the world-wide-web at |/ | |/ | If you did not receive a copy of the PHP license and are unable to |/ | obtain it through the world-wide-web, please send a note to |/ | license so we can mail you a copy immediately. |/ +-+/ | Authors: Original Author |/ | Your Name |/ +-+/ $ Id $


    注意事项

    本文(Php编程规范.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开