- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[discuz代码规范
?Discuz! 的编码规范 PHP编码规范与原则书写规则缩进每个缩进的单位约定是一个TAB(4个空白字符宽度),需每个参与项目的开发人员在编辑器(UltraEdit、EditPlus、Zend Studio等)中进行强制设定,以防在编写代码时遗忘而造成格式上的不规范。本缩进规范适用于PHP、JavaScript中的函数、类、逻辑结构、循环等。大括号{}、if和switch首括号与关键词同行,尾括号与关键字同列;if结构中,else和elseif与前后两个大括号同行,左右各一个空格。另外,即便if后只有一行语句,仍然需要加入大括号,以保证结构清晰;switch结构中,通常当一个case块处理后,将跳过之后的case块处理,因此大多数情况下需要添加break。break的位置视程序逻辑,与case同在一行,或新起一行均可,但同一switch体中,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;}} else {switch($str) {case ‘abc’:$result = ‘abc’;break;default:$result = ‘unknown’;break;}}运算符、小括号、空格、关键词和函数每个运算符与两边参与运算的值或表达式中间要有一个空格,唯一的特例是字符连接运算符号两边不加空格;左括号“(”应和函数关键词紧贴在一起,除此以外应当使用空格将“(”同前面内容分开;右括号“)”除后面是“)”或者“.”以外,其他一律用空格隔开它们;除字符串中特意需要,一般情况下,在程序以及HTML中不出现两个连续的空格;任何情况下,PHP程序中不能出现空白的带有TAB或空格的行,即:这类空白行应当不包含任何TAB或空格。同时,任何程序行尾也不能出现多余的TAB或空格。多数编辑器具有自动去除行尾空格的功能,如果习惯养成不好,可临时使用它,避免多余空格产生;每段较大的程序体,上、下应当加入空白行,两个程序块之间只使用1个空行,禁止使用多行。程序块划分尽量合理,过大或者过小的分割都会影响他人对代码的阅读和理解。一般可以以较大函数定义、逻辑结构、功能结构来进行划分。少于15行的程序块,可不加上下空白行;说明或显示部分中,内容如含有中文、数字、英文单词混杂,应当在数字或者英文单词的前后加入空格。根据上述原则,以下举例说明正确的书写格式:$result = (($a + 1) * 3 / 2 + $num)).’Test’;$condition??func1($var)?: func2($var);$condition?? $long_statement?: $another_long_statement;if($flag) {//Statements//More than 15 lines}showmessage(‘请使用 restore.php 工具恢复数据。’);函数定义参数的名字和变量的命名规范一致;函数定义中的左小括号,与函数名紧挨,中间无需空格;开始的左大括号与函数定义为同一行,中间加一个空格,不要另起一行;具有默认值的参数应该位于参数列表的后面;函数调用与定义的时候参数与参数之间加入一个空格;必须仔细检查并切实杜绝函数起始缩进位置与结束缩进位置不同的现象;例如,符合标准的定义:functionauthcode($string, $operation, $key = ) {if($flag) {//Statement}//函数体}不符合标准的定义:functionauthcode($string,$operation,$key = ){//函数体}引号PHP中单引号和双引号具有不同的含义,最大的几项区别如下:单引号中,任何变量($var)、特殊转义字符(如“\t \r \n”等)不会被解析,因此PHP的解析速度更快,转义字符仅仅支持“\’”和“\\”这样对单引号和反斜杠本身的转义;双引号中,变量($var)值会代入字符串中,特殊转义字符也会被解析成特定的单个字符,还有一些专门针对上述两项特性的特殊功能性转义,例如“\$”和“{$array[‘key’]}。这样虽然程序编写更加方便,但同时PHP的解析也很慢;数组中,如果下标不是整型,而是字符串类型,请务必用单引号将下标括起,正确的写法为$array[‘key’],而不是$array[key],因为不正确的写法会使PHP解析器认为key是一个常量,进而先判断常量是否存在,不存在时才以“key”作为下标
文档评论(0)