当前位置:文档之家› PHP代码编写规范

PHP代码编写规范

PHP代码编写规范
PHP代码编写规范

QC 质量管理体系文件

代码编写规范

受控状态:■受控□非受控

发布日期:2006年02月20日

实施日期:2006年02月24日

1. 引言

1.1. 目的

制定本规范是为了能达到以下目的:

●提高程序员工作效率和代码的利用性

●程序员可以了解任何代码,弄清程序的状况

●新人可以很快的适应环境

●防止新接触php的人出于节省时间的需要,自创一套风格并养成终生的习惯

●防止新接触php的人一次次的犯同样的错误

●在一致的环境下,人们可以减少犯错的机会

1.2. 适用范围

适用于本公司的所有开发人员,包括数据库、网页及应用程序开发人员,及有关的程序测试人员。

1.3. 引用标准

GB/T 8566-1995 信息技术软件生存期过程

GB/T 8567-1988 计算机软件产品开发文件编写指南

1.4. 术语

GB/T 11457-1995中所使用的术语适用于本规范。

2. 代码编写规则

2.1. 注释

(1)编写代码期间注释要求占程序总量15%以上。

(2)每个模块顶部必须说明模块名称、功能描述、作者等。

(3)每个过程、函数、方法等开头部分必须说明功能、参数、返回值、原数据和目标数据数据结构等等。

(4)变量定义的行末应当对变量给出注释。

(5)程序在实现关键算法的地方应当给出注释

2.2. 变量、函数、过程、控件等命名规则

(1)变量命名采用[作用范围][数据类型][自定义名称]规则定义,要求看到变量名就能直观的看出其范围和数据类型。

(2)函数、过程、方法、事件等命名应尽量做到观其名知其义。

(3)控件的命名采用[控件类型][自定义名]规则定义,要求通过名字能直观看出控件类型。

(4)自定义命名空间规则,要求能顾名思义

2.3. 源代码规则

风格约定:采用缩进的格式保存程序的层次结构。要求能直观的看出循环、判断等层次结构。

2.4. 用户界面规范

(1)用户界面布局和结构应当合理。

(2)颜色搭配方面应当咨询美术专业人员。

(3)界面中必须有产品标识,如果在用户许可情况下可加入公司标识。

2.5. 合理性原则

(1)提示说明应当简短且避免产生歧义。

(2)提示或警告信息应当具有向导性,能准确告诉用户错误原因及恢复方法。提示和警告对话框应当使用标准规范。

(3)快捷键的定义必须符合用户操作习惯

(4)程序需要长时间处理或等待时,应当显示进度条并提示用户等待。

(5)一些敏感操作,如删除等操作在执行前必须提示用户确认。

3. 命名规则

一般原则:命名要与其自然想适合,根据名字能推导出其含义,一般人的推想也能在意料之中。3.1. 目录和文件的命名

原则:通过名称就能理解目录或文件的意义。

规则:

(1)目录命名使用英文小写字母,长度不超过20个字符;

(2)文件命名用小写的英文字母、数字和下划线的组合;

(3)文件名称使用“性质_描述”的规则,描述可以有多个单词,用”_”隔开,性质一般是该页面得概要。如register_form.php;

(4)凡是类文件使用“模块名_controller.php”的形式,如admin_controller.php。

3.2. 类(class)命名

原则:通过类名就能想起这个类是什么。

规则:

(1)词的首字母大写,其它字母一概小写;

(2)多个词组成的混合名,使用大写字母作为词的分隔,其它字母小写,用以真正传送信息;

(3)不要使用下划线“_”;

(4)缩写词不要全部使用大写字母。如使用GetHtmlStatistic,而不用GetHTMLStatistic;

(5)派生类的命名与父类无关,只与自身有关。

3.3. 函数和方法命名

原则:通常每个函数和方法都是执行一个动作,所以其命名要清楚地说明

它们是做什么的。

规则:

(1)采用“动作_动作对象”或者简单的就直接使用“动作”的形式.

(2)例子形式1:get_table_name()

形式2:add()

3.4. 类属性命名

规则:

(1)所有字母都使用小写;

(2)使用“_”作为每个词的分界;

(3)例如:$associations

$many_to_many_sql

3.5. 方法中参数命名

规则:

采用和类属性命名相同的命名规则;

3.6. 变量命名

规则:

(1)所有字母都使用小写;

(2)使用“_”作为每个词的分界;

(3)如$error,$time_of_error;

(4)临时变量的取名应加上前缀tmp,如tmp_user_ame;

(5)对象变量的取名应加上前缀obj_作为前缀,如:obj_user;

(6)数组变量的取名应加上前缀arr,如arr_book_name;

(7)数组下标的变量类型可以是整型和字符串型两种;

1.若为整形,数组下标不要用双引号包含;

2.若为字符串型,必须用双引号包含。

3.7. 其它

(1)用变量和函数返回引用时,引用必须带‘r’前缀

(2)全局变量应该带前缀“g”

(3)定义命名/全局常量时, 全局常量所有字母大写,用“_”分隔每个单词,如:define (“A_GLOBAL_CONSTANT” , ”hello world”)

(4)静态变量应该带前缀“s”,如:static $sStatus = 0;

4. 书写规则

4.1. IF ELSE语句

[布局]

if (条件1) { //注释

}else if (条件2) { //注释

}else { //注释

}

如果有用else if语句,要有一个else块以用于处理未处理到的其他情况,可以的话放一

个记录信息注释在else处,即使else没有任何的动作。

[条件格式]

总是将恒量放在等号/不等号的左边,如:

if (6==$errorNum) …

4.2. SWITCH格式

(1)一个case块处理后,直接转到下一个case块处理,在这个case块的最后应该加上注释;

(2)default case总应该存在,它应该不被到达,然而如果到达了就会触发一个错误;

(3)如果要创立一个变量,那就把所有的代码放在块中。

4.3. Continue,Break和?:的使用

(1)不鼓励使用Continue和Break;

(2)?:

把条件放在括号内以使它和其它的代码相分离;

动作尽可能用简单的函数;

把所做动作,“?”,“:”放在不同的行。

4.4. 布尔逻辑类型

大部分函数在FALSE的时候返回0,但是返回非0值就代表TRUE,因而不要用1(TRUE,

YES,诸如此类)等式检测一个布尔值,应该用0(FALSE,NO,诸如此类)的不等式来代

替:

if (TRUE == func()) { ...

应该写成:

if (FALSE != func()) { ...

4.5. 大括号{}规则

将大括号放置在关键词同一行,距前面字符一个空格:

if ($condition) {

}

4.6. 缩进/ 制表符/ 空格规则

(1)缩进采用键盘Tab键,不采用空格键。并且”=”或者链接字符串时需要左右空一格,每层次缩进长度为4个半角空格;

(2)缩进层次大于四或五级,可考虑将代码因数分解(factoring out code)。

4.7. 小括号/ 关键词/ 函数规则

(3)不要把小括号和关键词紧贴在一起,要用空格隔开;

(4)小括号和函数名紧贴在一起;

(5)除非必要,不要在return返回语句中使用小括号。

(6)永远不要在括号与括号之间的字符中间留下空格;

(7)永远不要在一个语句中使用不必要的括号,括号只应在源代码中需要的地方使用;

(8)不要把小括号和关键词紧贴在一起,要用空格隔开;

(9)要把小括号和函数名紧贴在一起,以免跟关键字相混;

4.8. php文件扩展名

(10)所有浏览者可见页面使用“.htm”;

(11)所有类、函数库文件使用“.php”

4.9. 不要不可思议的数字

用define()来给想表示某样东西的数值一个真正的名字,而不是采用赤裸裸的数字,如:define (“PRESIDENT_WENT_CRAZY” , ”22”);

define (“WE_GOOFED” , “19”);

4.10. 关于$_GET等变量的调用规则

(1)所有GET、POST、SESSION、COOKIE、SERVER等变量均不能直接调用;

(2)GET变量ss要使用$_GET[“ss”]调用;

(3)POST变量ss要使用$_ POST [“ss”]调用;

(4)COOKIE变量ss要使用$_ COOKIE [“ss”]调用;

(5)SESSION变量ss要使用$_SESSION [“ss”]调用;

(6)SERVER变量ss要使用$_SERVER [“ss”]调用;

4.11. 其它

(1)别在对象架构期做实际的工作

(2)记录所有空语句

(3)不要采用缺省方法测试非零值

(4)通常避免采用嵌入式的赋值

(5)每行一个语句

(6)短方法,方法代码要限制在一页内

4.12. 代码编辑器

(1)需统一使用风格类似的编辑器

(2)建议使用Zend Studio

5. 书写注释

一般原则:

1、程序中的注释应该能够被PHPDocument工具转换。

2、鼓励使用非文档注释。一般性规则是对于那些容易忘记作用的代码添加简短的介绍性注释。

3、使用 C 样式的注释(/* */)和标准 C++ 注释(//),而不使用 Perl/shell 样式的注释(#)。

5.1. 文件头注释

在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;修改历史;生成日期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文件关系等);主要函数或过程清单及本文件历史修改记录等。

注释方法:

/**

* 简述

*

*(详细的功能描述)

*

* @author

* @version

* @history

*/

5.2. 函数头注释

在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。

注释方法:

根据实际情况采用单行注释(//)或多行注释(/* */)。

5.3. 行注释

在以下地方需要加上注释:

(1)代码中重要部分或难度较大部分加注释;

(2)在if、else语句中具有暗示意味、有重要意义的条件旁加注释;

(3)当循环语句中的终止条件不太清晰时加注释;

(4)代码复杂部分加注释;

(5)容易引起混乱的变量加注释。

(6)需要添加但未实现的代码模块;

注释方法:

(1)// 注释一行

(2)//// 四个斜杠代表当前有未实现的内容,相当于占位符

(3)/* …… */ 注释若干行

(4)注释简单明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则;

(5)边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性;

(6)变量、常量的注释应放在其上方相邻位置或右方;

(7)全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时的注意事项等;

5.4. 其它

(1)PHP脚本标记采用 ,只输出变量时用

(2)无论在什么地方无条件包含一个类型文件,应该使用 require_once();有条件的包含一个类型文件,应该使用 include_once()。

(3)在HTML网页中尽量不要穿插PHP代码,循环代码和纯粹变量输出除外;

(4)保证代码和文档的一致性;

(5)和大家保持沟通,有问题随时提出,避免走弯路和重复他人已做过的工作;

(6)SQL 代码布局:既然我们都在使用不同的编辑器设置,不要尝试去做诸如在SQL 代码中实现列对齐此类的麻烦事。要做的是,不管用何种方法,把语句断行到它们单独

的行上去。这里有一个SQL 代码看上去应该是什么样子的示例。注意在哪里断行,

大写,和括号的用法。例如:

SELECT field1 AS something, field2, field3

FROM table a, table b

WHERE (this = that) AND (this2 = that2)

PHP代码文档规范及phpDoc指南-共享版

PHP文档规范及phpDoc指南

目录 1概述 (3) 2PHPDoc/ phpDocumentor (3) 2.1什么是PHPDoc/phpDocumentor (3) 2.2phpDocumentor1和phpDocumentor2 (5) 2.3phpDocumentor安装 (5) 2.3.1pear安装 (5) 2.3.2phpDocumentor安装 (6) 3使用phpDocumentor生成文档 (6) 3.1phpDocumentor使用说明 (6) 3.2生成指定目录下的文档 (6) 3.3生成指定文件的文档 (6) 3.4指定文档标题 (7) 4PHP注释规范 (7) 4.1需要特别注意的地方 (7) 4.2文件、类注释 (8) 4.3方法注释 (8) 4.4常用tag标签 (9) 4.4.1常用tag列表 (9) 4.4.2@param变量类型列表 (9) 4.5常用的嵌入式{@tag }用法 (10) 4.5.1{@link}用法 (10) 4.5.2{@source}用法 (10) 4.5.3其他inline tag (11) 4.6用法 (11) 5参考资料 (12)

1概述 对于一个开发人员,文档总是最感到头疼的事情之一。而且,很可能你对待文档会采取截然不同的2种态度: ●当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬 着头皮去读那些生涩的代码的时候。 ●当写你自己的程序的时候,最不希望做的事情却是给它编写专门的技术文档,你会以种种理由给自己 开脱:我的代码已经足够清晰了,完全不用再为它重新编写文档了…… 为了解决这个问题,文档工具由此产生。按照规范格式编写代码注释,当代码写完了,技术文档也就完成了。良好的代码注释不仅能够帮助开发人员在编写代码时缕清思路,尽可能避免逻辑bug,而且规范的代码注释还能够使用文档工具直接生成API手册。 2PHPDoc/ phpDocumentor 2.1什么是PHPDoc/phpDocumentor PHPDoc(现在项目名改为了phpDocumentor)是PEAR下面的一个非常优秀的模块,它的目标是实现类似javadoc的功能,可以为你的代码快速生成具有相互参照,索引等功能的API文档。

PHP开发规范标准

目录 1、编写目的 (4) 2、整体要求 (5) 3、安全规范 (6) 3.1、包含文件 (6) 3.1.1、命名规则 (6) 3.1.2、存放规则 (6) 3.2、安全规则 (7) 3.3、一些针对PHP的规则 (8) 3.4、其它处理规则 (8) 3.4.1、输入参数处理 (8) 3.4.2、操作大HTML文本 (8) 4、编码规范 (9) 4.1、命名规范 (9) 4.1.1、变量命名 (9) 4.1.2、类命名 (10) 4.1.3、方法或函数 (10) 4.1.4、缩写词 (11) 4.1.5、数据库表名 (11) 4.1.6、数据库字段 (11) 4.2、书写规则 (11) 4.2.1、代码缩进 (12) 4.2.2、大括号{}书写规则 (12) 4.2.3、小括号()和函数、关键词等 (13)

4.2.4、=符号书写 (13) 4.2.5、if else swith for while等书写 (13) 4.2.6、类的构造函数 (13) 4.2.7、语句断行 (14) 4.2.8、数字 (14) 4.2.9、判断 (15) 4.2.10、避免嵌入赋值 (15) 4.2.11、错误返回检测规则 (16) 4.3、程序注释 (16) 4.3.1、程序头注释块 (16) 4.3.2、类的注释 (17) 4.3.3、函数和方法的注释 (18) 4.3.4、变量或者语句注释 (18) 4.4、其它规范 (19) 4.4.1、PHP代码标记 (19) 4.4.2、程序文件名、目录名 (19) 4.4.3、PHP项目通常的文件目录结构 (19) 4.4.4、PHP和HTML代码的分离问题 (20) 4.4.5、PHP项目开发中的程序逻辑结构 (20) 5、特定环境下PHP编码特殊规范 (21) 5.1、变量定义 (21) 5.2、引用的使用 (21) 5.3、变量的输入输出 (22)

php项目开发规范

竭诚为您提供优质文档/双击可除php项目开发规范 篇一:整理了一份比较全面的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.5ifelseswithforwhile等书写 4.2.6类的构造函数 4.2.7语句断行,每行控制在80个字符以内4.2.8不要不可思议的数字 4.2.9true/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.1php代码标记 4.4.2程序文件名、目录名 4.4.3php项目通常的文件目录结构 4.4.4php和html代码的分离问题 4.4.5php项目开发中的程序逻辑结构 5特定环境下php编码特殊规范 5.1变量定义 5.2引用的使用 5.3变量的输入输出 1编写目的 为了更好的提高技术部的工作效率,保证开发的有效性和合理性,并可最大程度的提高程序代码的可读性和可重复利用性,指定此规范。开发团队根据自己的实际情况,可以对本规范进行补充或裁减。 2整体要求 技术部php开发规范将参照peaR的规范,基本采用peaR 指定的规范,在其基础上增加、修改或删除部分适合具体开发环境的规范。本规范只针对php开发过程中编码的规范,对于php开发项目中文件、目录、数据库等方面的规范,将不重点涉及。 本规范包含了php开发时程序编码中命名规范、代码缩

PHP代码编写规范

QC 质量管理体系文件 代码编写规范 受控状态:■受控□非受控 发布日期:2006年02月20日 实施日期:2006年02月24日

1. 引言 1.1. 目的 制定本规范是为了能达到以下目的: ●提高程序员工作效率和代码的利用性 ●程序员可以了解任何代码,弄清程序的状况 ●新人可以很快的适应环境 ●防止新接触php的人出于节省时间的需要,自创一套风格并养成终生的习惯 ●防止新接触php的人一次次的犯同样的错误 ●在一致的环境下,人们可以减少犯错的机会 1.2. 适用范围 适用于本公司的所有开发人员,包括数据库、网页及应用程序开发人员,及有关的程序测试人员。 1.3. 引用标准 GB/T 8566-1995 信息技术软件生存期过程 GB/T 8567-1988 计算机软件产品开发文件编写指南 1.4. 术语 GB/T 11457-1995中所使用的术语适用于本规范。

2. 代码编写规则 2.1. 注释 (1)编写代码期间注释要求占程序总量15%以上。 (2)每个模块顶部必须说明模块名称、功能描述、作者等。 (3)每个过程、函数、方法等开头部分必须说明功能、参数、返回值、原数据和目标数据数据结构等等。 (4)变量定义的行末应当对变量给出注释。 (5)程序在实现关键算法的地方应当给出注释 2.2. 变量、函数、过程、控件等命名规则 (1)变量命名采用[作用范围][数据类型][自定义名称]规则定义,要求看到变量名就能直观的看出其范围和数据类型。 (2)函数、过程、方法、事件等命名应尽量做到观其名知其义。 (3)控件的命名采用[控件类型][自定义名]规则定义,要求通过名字能直观看出控件类型。 (4)自定义命名空间规则,要求能顾名思义 2.3. 源代码规则 风格约定:采用缩进的格式保存程序的层次结构。要求能直观的看出循环、判断等层次结构。

养成良好的代码规范

20期BBS小组编码规范 2.适用范围 (1) 3.标准化的重要性和好处 (1) 4.PHP编码规范与原则 (2) 4.1.代码标记 (2) 4.2.注释 (2) 4.3.书写规则 (3) 4.3.1.缩进 (3) 4.3.2.大括号{}、if和switch (3) 4.3.3.运算符、小括号、空格、关键词和函数 (4) 4.3.4.函数定义 (4) 4.3.5.引号 (5) 4.4.命名原则 ..................................................................................................................... 错误!未定义书签。 4.4.1.变量、对象、函数名 (6) 4.4.2.常量 (6) 4.5.变量的初始化与逻辑检查 (6) 4.6.安全性 ......................................................................................................................... 错误!未定义书签。 4.7.兼容性 ......................................................................................................................... 错误!未定义书签。 4.8.代码重用 (7) 4.9.其他细节问题 (7) 4.9.1.包含调用 (7) 4.9.2.错误报告级别8 1.适用范围 如无特殊说明,以下规则要求完全适用于Discuz!项目,同时也可大部分适用于COMSENZ 旗下其他PHP项目。 2.标准化的重要性和好处 当一个软件项目尝试着遵守公共一致的标准时,可以使参与项目的开发人员更容易了解 项目中的代码、弄清程序的状况。使新的参与者可以很快的适应环境,防止部分参与者出于 节省时间的需要,自创一套风格并养成终生的习惯,导致其它人在阅读时浪费过多的时间和 精力。而且在一致的环境下,也可以减少编码出错的机会。缺陷是由于每个人的标准不同,

腾讯PHP开发规范v1.0

海豹平台开发规范v1.0 腾讯科技(深圳)有限公司 *版本信息&保密等级 版本更改日期更改要点说明编制审核批准

V1.0 2014/12/24 新建wilsonwsong V1.1 2014/12/26 修订rusherding 文档保密等级:□机密■内部□公开

目录 海豹平台开发规范V1.0 (1) 1 引言 (5) 1.1定义及缩略语 (5) 1.2参考文档 (5) 1.3目的 (5) 1.4适用范围 (5) 1.5标准化作用 (5) 2 目录结构规范 (6) 2.1框架路径 (6) 2.2应用目录结构 (6) 2.2.1 配置config (7) 2.2.2 控制器controllers (7) 2.2.3 模型models (7) 2.2.4 视图views (8) 2.2.5 国际化messages (8) 2.2.6 组件components (8) 2.2.7 命令commands (8) 2.2.8 临时目录runtime (8) 2.3路径别名 (8) 2.3.1 类型导入 (8) 3 PHP编码规范 (9) 3.1标签 (9) 3.2编码 (9) 3.3注释 (9) 3.3.1 文件注释 (9) 3.3.2 类注释 (10) 3.3.3 方法注释 (10) 3.3.4 属性注释 (11) 3.3.5 其它 (11) 3.4命名规则 (11) 3.4.1 文件 (11) 3.4.2 类 (11) 3.4.3 函数/方法 (12)

3.4.4 变量名 (12) 3.4.5 常量名 (12) 3.5书写规则 (13) 3.5.1 文件 (13) 3.5.2 行 (13) 3.5.3 缩进 (13) 3.5.4 控制结构 (13) 3.5.5 运算符 (16) 3.5.6 引号 (16) 3.5.7 关键词 (17) 3.5.8 函数 (17) 3.5.9 类 (17) 3.5.10 属性 (18) 3.5.11 方法 (18) 4 数据库命名规范 (20) 4.1命名规范 (20) 4.2实体命名 (20) 4.2.1 前缀命名 (20) 4.2.2 后缀命名 (21) 4.3字段命名 (21) 4.3.1 后缀命名 (22) 4.4字段类型 (22) 4.4.1 数值类型 (22) 4.4.2 字符类型 (23) 4.4.3 时间类型 (23) 4.4.4 ENUM&SET (23) 4.4.5 LOB 类型 (23) 4.5表结构设计 (24) 4.5.1 适度冗余 (24) 4.5.2 尽量使用NOT NULL (24) 4.5.3 索引 (24) 5 附件 (24) 5.1附录一:MYSQL保留字 (24)

代码风格规范

代码风格规范 本篇规范是PSR-1基本代码规范的继承与扩展。 本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便。 当多名程序员在多个项目中合作时,就需要一个共同的编码规范,而本文中的风格规范源自于多个不同项目代码风格的共同特性,因此,本规范的价值在于我们都遵循这个编码风格,而不是在于它本身。 关键词“必须”("MUST")、“一定不可/一定不能”("MUST NOT")、“需 要”("REQUIRED")、“将会”("SHALL")、“不会”("SHALL NOT")、“应该”("SHOULD")、“不该”("SHOULD NOT")、“推荐”("RECOMMENDED")、“可以”("MAY")和”可选“("OPTIONAL")的详细描述可参见RFC 2119。 1. 概览 ?代码必须遵循PSR-1中的编码规范。 ?代码必须使用4个空格符而不是tab键进行缩进。 ?每行的字符数应该软性保持在80个之内,理论上一定不可多于120个,但一定不能有硬性限制。 ?每个namespace命名空间声明语句和use声明语句块后面,必须插入一个空白行。 ?类的开始花括号({)必须写在其声明后自成一行,结束花括号(})也必须写在其主体后自成一行。 ?方法的开始花括号({)必须写在函数声明后自成一行,结束花括号(})也必须写在函数主体后自成一行。

?类的属性和方法必须添加访问修饰符(private、protected以 及public),abstract以及final必须声明在访问修饰符之前, 而static必须声明在访问修饰符之后。 ?控制结构的关键字后必须要有一个空格符,而调用方法或函数时则一定不能有。 ?控制结构的开始花括号({)必须写在声明的同一行,而结束花括号(})必须写在主体后自成一行。 ?控制结构的开始左括号后和结束右括号前,都一定不能有空格符。1.1. 例子 以下例子程序简单地展示了以上大部分规范: $b) { $foo->bar($arg1); } else { BazClass::bar($arg2, $arg3); } } finalpublicstaticfunction bar() { // method body }

Php编程规范

PHP编程规范 (试行)

前言 为规范PHP开发的编码风格,提高开发效率和降低开发人员的时间成本,建立统一的PHP开发标准体系,依据国际、国内相关标准、法规,参照国际、国内通行的职业技能标准制定本规范。 本规范由大连市经济和信息化委员会提出并归口。 本规范项目召集单位: 本规范项目专家组: 本规范主要起草单位: 本规范起草人: 本规范于二○一○年十一月四日首次发布。

目录 1. 适用范围 (5) 2. 定义和术语 (5) 2.1 PHP语言 (5) 2.2 程序代码 (5) 3. 代码编写格式 (5) 3.1 代码标记 (5) 3.2 缩进 (5) 3.3 长度 (5) 3.4 行宽 (6) 3.5 间隔 (6) 3.6 对齐 (6) 3.7 括号 (6) 4. 注释 (7) 4.1 预注释 (7) 4.2 类、接口注释 (8) 4.3 函数方法注释 (8) 4.5 其它注释 (9) 5. 命名 (9) 5.1 文件 (9) 5.2 变量 (9) 5.3 常量 (10) 5.4 类、接口 (10) 5.5 方法、函数 (10) 6. 声明 (10)

6.1 类、接口 (10) 6.2 方法 (10) 6.3 变量 (11) 6.4 常量 (11) 6.5 其他 (11) 7. 表达式与语句 (12) 7.1 控制语句 (12) 7.2 循环语句 (12) 8. 错误与异常 (13) 8.1 已检查异常与运行时异常 (13) 8.2 异常错误提示设置 (13) 9. 测试与 BUG 跟踪 (13) 9.1 测试基本原则 (13) 9.2 BUG 跟踪和缺陷处理 (13) 10. 性能与安全 (13) 10.1 输入与输出 (13) 10.2 针对 PHP.INI 的规则 (14) 10.3 SQL 语句处理规则 (14) 11. 其它 (14) 12. 附录 (14) 12.1 注释模板 (14)

PHP代码规范

PHP规范草案 Ver.0.0.1 1.变量命名与类的命名 (1) 类型 + 变量名: $inum 基于PHP语言弱类型的特点,以匈牙利命名法为参考,但国人不习惯大写字母,所以纯小写,为基本规范。 字符+命名的方式,比如 $susername 一个类型字符 一个类型 s代表字符串,i代表整型,a代表数组,o代表对象, r代表资源, b布尔型,例子: 01.$inum = 55; 02.$itotal = 110; 03.$susername = 'root'; 04.$spassword = '123456'; 05.$rlink =mysql_connect('localhost', 'root', '123456'); 06.$odb = new dbstuff(); 07.$anumber = array(1, 2, 3, 4, 5); 特殊常用的少数变量,可以不用书写前缀,比如 $uid, $sid, $sql, $row, $db 程序员的类型 的类型这种书写方式缺点:略需一点适应成本,但习惯后对程序员 这种书写方式缺点:略需一点适应成本,但习惯后对 开发和代码阅读调试意义重大。 和代码阅读调试意义重大。 思维有帮助,对团队开发 思维有帮助,对团队 设计字段类型及长度字符串类型一般没有 数据库设计字段类型及长度字符串类型一般没有 (2) 常用的命名及 常用的命名及数据库 默认值,而非主键的数值类型,非空,默认值为0。 username 用户名, char(16) password 密码, char(32) email 邮件, char(50) 时间,,int(10) dateline时间 register 注册 login 登陆 adminid 管理员id,某某id的命名,采用名字+id的方式, 比如groupid, 常用的id可用缩写替代:比如

基于PHP的格式化HTML代码功能的设计与实现

龙源期刊网 https://www.doczj.com/doc/0511825936.html, 基于PHP的格式化HTML代码功能的设计与实现 作者:罗良夫张丽 来源:《电脑知识与技术》2017年第30期 摘要:随着互联网技术的发展,大量的信息系统采用了B/S架构,从而产生了大量的HMTL页面文件,为了解决大量HTML代码不易维护与管理的问题,采用了PHP作为主要技术开发了格式化HTML代码的功能,该功能可以准确识别单目及双目HTML标记,且具有良好的扩展性,能够支持HTML5及其他动态网页语言标签的识别及格式化。 关键词:PHP;HTML;格式化;标记 中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)30-0116-02 Design and Implementation of Formatted HTML Code Function Based on PHP LUO Liang-fu1, ZHANG Li2 (1.wuhan Guanggu Vocational College, Wuhan 430073, China; 2. Hubei Traffic Vocational and Technical College, Wuhan 430079, China) Abstract: With the development of Internet technology, a large number of information systems using B/S architecture, resulting in a large number of HMTL pages, in order to solve a large number of HTML code is not easy to maintenance and management problems, using PHP as the main technology in the development of the HTML code formatting function, the function can accurately identify the monocular and binocular HTML markers, and has extended well, the identification and the format can support HTML5 and other dynamic web language tags. Key words: PHP; HTML; format; sign 1 背景 互联网时代的到来,促使HTML网页技术的应用变得非常广泛,目前几乎所有的应用信息系统都采用了B/S结构,一般中小型公司的页面可能达到几十个,而大型网站的页面更是多达上百个,信息系统页面的开发经常出现:开发周期长、开发人员多、代码不规范、代码不易管理等问题,导致后期难以进行扩展升级和维护,所以HTML代码的格式规范化问题显得非常总要,为了能有效解决HTML代码规范化问题,本文采用了PHP语言来实现格式化HTML 代码的功能。

PHP语言规范文档

PHP语言编写规范 第1章命名规范 1.1变量 1.1.1全局变量 全局变量使用$g_开头,如$g_data_list。 1.1.2 一般变量 一般的变量使用小写字母命名,单词之间使用下划线分隔。 变量名字应该使用名词或者形容词+名词的方式。如$value,$new_value。 1.1.3 临时变量 不要将在循环中频繁使用的临时变量如$i,$j等用于其它用途。 1.2 函数 函数采用小写字母命名,单词之间使用下划线分隔。 函数的命名建议使用动词+名词的方式,如get_user_img。 完成一组功能的函数放到一个文件中,存放函数的文件采用function_name.func.php命名。

1.3 类 类使用英文的大小写来分隔单词,包括首个单词,所有单词的首字母大写,如PageManager; 在类中,方法放到属性定义前边、公用方法放到专用方法前边; 一般情况下,一个类对应到一个文件; 当一些类关系紧密时,可以存放在一个文件中; 存放类的文件采用ClassName.class.php方式命名。 1.4 方法 方法使用英文的大小写来分隔单词,除首个单词外,其他单词的首字母大写,如getCurrentPage();不要采用不常用的缩写,如where2go(); 使用常用的缩写时,只大写首字母,如getHtml()。 第2章版式规则 2.1 语义分隔 各个函数、方法之间应该采用空行间隔;

同一个函数中联系紧密的语句之间可以不换行,其他情况需要换行。 2.2 空格规则 2.2.1 逻辑运算符前后必须加空格 正确 $a == $b; 错误 $a==$b; $a ==$b; 备注 - 正确 $a++; $a–; 错误 $a ++; $a –; 备注加一减一运算符不能加空格。 2.2.2 多个参数分隔时必须加空格 正确 $g_pro , $g_user , g_show; get_db_info($host, $user, $passwd);

php,psr,4,编码规范

竭诚为您提供优质文档/双击可除 php,psr,4,编码规范 篇一:php开发规范psR-1 「psR规范」psR-1基础编码规范基本代码规范 本篇规范制定了代码基本元素的相关标准,以确保共享的php代码间具有较高程度的技术互通性。 关于「能愿动词」的使用 为了避免歧义,文档大量使用了「能愿动词」,对应的解释如下: 必须(must):绝对,严格遵循,请照做,无条件遵守;一定不可(mustnot):禁令,严令禁止;应该(should):强烈建议这样做,但是不强求;不该(shouldnot):强烈不建议这样做,但是不强求;可以(may)和可选(optional):选择性高一点,在这个文档内,此词语使用较少; 1.概览

php代码文件必须以 命名空间以及类必须符合psR的自动加载规范:psR-4中的一个;类的命名必须遵循studlycaps大写开头的驼峰命名规范;类中的常量所有字母都必须大写,单词间用下划线分隔; 方法名称必须符合camelcase式的小写开头驼峰命名规范; 2.文件 2.1.php标签 php代码必须使用长标签或短输出标签;一定不可使用其它自定义标签。 2.2.字符编码 php代码必须且只可使用不带bom的utF-8编码。 2.3.副作用 一份php文件中应该要不就只定义新的声明,如类、函数或常量等不产生副作用的操作,要不就只书写会产生副作用的逻辑操作,但不该同时具有两者。「副作用」(sideeffects)一词的意思是,仅仅通过包含文件,不直接声明类、函数和常量等,而执行的逻辑操作。 副作用」包含却不仅限于:

生成输出直接的require或include连接外部服务修改ini配置抛出错误或异常修改全局或静态变量 读或写文件等 以下是一个反例,一份包含「函数声明」以及产生「副作用」的代码://「副作用」:修改ini配置ini_set(error_reporting,e_all); //「副作用」:引入文件 include"file.php"; //「副作用」:生成输出 echo"\n"; //声明函数 functionfoo(){ //函数主体部分 } 下面是一个范例,一份只包含声明不产生「副作用」的代码: //声明函数 functionfoo(){

PHP开发规范说明

1目的 2代码规范要求 3程序设计原则 3.1Model层 所有与数据库表本身操作方法,都封装在自己的Model类中,不单独在外提供封装。 每个Model基于ThinkPHP都已经封装好了一套DB操作方法。 3.1.1基类 3.1.1.1Model ThinkPHP原生Model基类。不能修改。 在基于单表的数据CURD操作,使用Model原生成的功能。如: 3.1.1.1.1Insert $role_user_model->add(array("role_id" =>$role_id, "user_id" =>$uid, "oem_code" => parent::oem_code())); 3.1.1.1.2Update if (IS_POST) { $_POST['id'] = get_current_admin_id(); $_POST["oem_code"] = parent::oem_code(); $create_result = $this->users_model->field("user_login,user_email,last_login_ip,last_login_time,create_time,user_ activation_key,user_status,role_id,score,user_type,oem_code", true)//排除相关字段 ->create(); if ($create_result) { if ($this->users_model->save() !== false) { $this->success("保存成功!"); } else { $this->error("保存失败!"); } } else { $this->error($this->users_model->getError()); } } 3.1.1.1.3Delete $id = intval(I("get.id")); if ($this->users_model->where("id=$id")->delete() !== false) { M("RoleUser")->where(array("user_id" =>$id, "oem_code" => parent::oem_code()))->delete(); $this->success("删除成功!"); } else { $this->error("删除失败!"); }

PHP书写规范

PHP编码规范时间:2010-01-20 13:06来源:未知作者:coder 点击:252次一、规范前言篇标准化不是特殊的个人风格,它让程序员可以了解任何代码,弄清程序的状况;新人可以很快的适应环境;防止新接触php的人一次次的犯同样的错误;在一致的开发环境下,可以减少人们犯错的机会。本规范的标准在绝对多数应用上为仿照java技术体 一、规范前言篇 标准化不是特殊的个人风格,它让程序员可以了解任何代码,弄清程序的状况;新人可 以很快的适应环境;防止新接触php的人一次次的犯同样的错误;在一致的开发环境下,可以减少人们犯错的机会。本规范的标准在绝对多数应用上为仿照java技术体系,因为java技术体系以其众多成功的案例成为大部分计算机应用层的工业标准,此外便于日后 公司向java技术体系转型。 二、命名定义篇 局部变量命名 使用英文名词、动词,以大写字母作为单词的分隔,其他的字母均使用小写,单词的 首个字母使用小写,不使用下划线,例: $repeatCount = ''; $delUserSql = ''; 全局常量命名 使用英文名词、动词,所有字母都使用大写,以下划线分隔每个单词,例: define( 'WEBSITE_NAME', '名称' ); define( 'WEBSITE_URL', '地址' ) 数组变量命名 使用英文名词、动词,以大写字母作为单词的分隔,其他的字母均使用小写,单词的首 个字母使用小写,不使用下划线,以字符串Array为后缀,例: $scopeArray = array(); $bookIdArray = array(); 静态变量命名 使用英文名词、动词,以大写字母作为单词的分隔,其他的字母均使用小写,单词的首 个字母使用小写,不使用下划线,以字符串Static为后缀,例:

整理了一份比较全面的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标记、文件头的注释块、CVS标记、URL样例、常量命名等方面的规则。 3安全规范 3.1包含文件 3.1.1命名规则 提取出来具有通用函数的包含文件,文件后缀以.inc来命名,表明这是一个包含文件。 如果有多个.inc文件需要包含多页面,请把所有.inc文件封装在一个文件里面,具体到页

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 Eclipse 7、原则上不允许修改Simple框架核心代码,即SimplePHP目录下的所有文件,如有需要,请通知框架维护升级人员评估处理,Simple框架在下一步计划中将大幅度调整改进,以满足开发需求; 8、目录名只能使用英文字母加阿拉伯数字及下划线的组合字符串,而一些重要的并且用户能直接访问到的后台管理目录不能直接使用像admin,tool之类的常用单词来命名。 9、特定目录统一命名:模板目录views,语言包目录langs,配制目录config。目录名统一全小写命名。10、文件名(包括成生的静态页面,缓存等文件)尽量使用小写字母命名,必要时用下划线连接,但不能出现空格。框架控制器文件必须保证第一个字母为大写,其它均为小写,以保证大小写链接均可正常使用; 11、尽量使用公共的类库(公共的类库收集整理在进行中,并且将不断补充完善); 12、站点/项目主程要负责编写、补充站点/项目文档(包括站点/项目说明,系统架构说明,目录/文件结构说明,接口说明,更新历史,手册文档);开发文档统一存放在项目的根目录(不是WEB根目录)下doc目录的dev目录。而项目需求等非技术性的文档放在doc目录下的pro目录。 ;. . 数据库表文档规范: 模块名称:(如用户表) 表名(如mmosite_user)

PHP代码编写规范分解

PHP代码编写规范 一、编辑器设置 (1)使用Tab缩进,不要使用空格 鉴于很多编辑器在保存文件时会自动清除用于缩进的空格,所以我们一律使用Tab键进行缩进。 (2)UNIN文件格式 请将编辑器设置对所有程序使用UNIX格式保存,不要使用Win32或者Mac 的格式。例如,EditPlus里面Document->File Format(CR/LF)->Unix 。对于windows格式文件,以Ctrl + M结束(vim下为^M),需要过滤掉:$text = strtr($text, "\x0D", ""); 二、命名设置 1、公共库名称空间 TPLIB,Tencent PHP Library 2、变量命名 (1)所有字母都使用小写 (2)首字母根据变量值类型指定 整数I、浮点数f、字符串s、布尔值b、数组a、对象o、资源r、混合类型m (3)使用?_?作为每一个词的分界 例如: $i_age_max = 10; $f_price = 22.5; $s_name =…harry?; $b_flag = true; $a_price = array(); $o_object = new class(); $r_file = fopen();

$m_var = array_combine($a_name, $a_flag); 3、类命名 (1)使用大写字母作为词的分隔,其他的字母均使用小写,即驼峰格式。 (2)名字的首字母使用大写 (3)不要使用下划线(?_') (4)interface接口最好使用大写字母I,并以Interface结尾 例如: class NameOneTwo class Name interface IExampleInterface () 4、方法命名 (1)使用大写字母作为词的分隔,其他的字母均使用小写 (2)名字的首字母使用大写,声明为“private” 或“protected” 的,使用?_?为前缀 (3)不要使用下划线(?_') (4)与类命名一致的规则 (5)对象的访问器总是以“get” 或“set” 为前缀,当使用设计模式如单态模式(singleton)或工厂模式(factory),方法的名字应当包含模式的名字,这样容易从名字识别设计模式。 例如: class NameOneTwo{ public function DoIt() {}; protect function _HandleError() {}; private function _SayHello() {}; } 5、类属性命名 (1)属性名前缀应以属性值类型指定(具体参照变量命名规则) (2)前缀后采用与类命名一致的规则

PHP实验1-10(附代码)

PHP编程教学实训任务 实训任务1-10 倪老师编制

目录 实验一HTML语言基础 (1) 实验二PHP环境构建 (4) 实验三PHP程序组成 (15) 实验四PHP数据类型和编程规范 (18) 实验五PHP表达式应用之一 (21) 实验六PHP表达式应用之二 (26) 实验七PHP表达式应用之三 (30) 实验八PHP条件控制语句 (34) 实验九PHP循环控制语句 (38) 实验十PHPswitch语句 (42)

实验一 HTML语言基础 一、项目名称:HTML语言 二、实训目的:直接使用html设计表格和表单; 三、实训内容: 1、用记事本设计表格网页 2、用记事本设计表单网页

四、实训要求: 把设计后的文件压缩并保存,文件名格式“班级+学号(两位)+姓名”,发送到老师的邮箱。 答案: 1答案、 原代码 表格制作

常用的营销网站
网站名称 域名 logo
阿里爸爸 https://www.doczj.com/doc/0511825936.html,
淘宝网 https://www.doczj.com/doc/0511825936.html,
百度 https://www.doczj.com/doc/0511825936.html,
谷哥 https://www.doczj.com/doc/0511825936.html,

PHP 项目开发规范文档

PHP 项目开发规范文档 1.文件及文件目录规范 1.1命名规范 文件名以全部小写的英文字母组成, 建议使用英文单词, 必要时使用复数; 多个单词之间以下划线隔开, 类文件建议以类的名字的小写命名;则这不仅仅是PHP文件,包括整个项目的文件. 例: 一般常见文件: common.php, config.php login.php, user_info.htm, import_categories.php 类文件 class.accounts.php => Class Accounts {……}; 1.2目录结构规范 目录的命名同文件名一样,英文字母,全部小写. 例: /lib 常用PHP文件,库文件 /images 页面上使用的背景图或图标文件存在目录 /js 页面上使用的js文件 /languages 语言包文件 /templates 模板文件存在目录 /cache 站点数据存储目录, 比如像日志, 附件, 配置文件等,均可以创建子目录存放在这该目录下; 2.变量规范 2.1变量命名 2.1.1 form域命名及URL参数名命名 考虑到PHP的数组下标(key)的应用是区分大小写的, 所以强制全部采用小写字母组成, 多词组成时可以用减号隔开. 2.1.2 变量命名 $ + 变量类型_变量命名作为规则, 变量命名采用英文单词,多词组成时用下划线连接;变量类型不一定强制! 必须用小写. 例: $table_name PHP常用的类型: String str 例: $str_username, $str_password,$password Integer int 例: $int_id,$id Float flt 例: $flt_money,$money Double dbl 例: $dbl_pie,$pie Boolean bln 例: $bln_isset Array arr 例: $arr_data,$data PHP 用于全局变量类型: $Global 即全局变量的配置变量,全局变量首字母用大写 PHP 常量首全部用大写defined('IN_OLCMS') 2.2 变量的初始化 PHP本身并没有对初始化变量的名字. 所以我们能做的就是给一个未使用的赋一个空值. 例: $arrData = array(); $intQuality = 0; 3.函数与类规范 3.1函数的命名 下划线连接的组合规则, 例init(), list_category() 3.2类的命名规范

相关主题
文本预览
相关文档 最新文档