通用约定:
- 代码缩进全部用tab,在编辑器里面设置tab存为制表符,不要存为空格。不要打一堆空格来做缩进。
- SVN / Git 中新建文件编码类型统一用utf-8编码(不带BOM)。
- Unix 风格的换行: LF
- 所有可以直接访问的url中包含的文件名都是小写,如果是多个词组成,则用下划线连接。
- 行宽:120 字符
代码规范
<?php // 开头必须使用 <?php
// xxx@w3cschool.cc 每个文件必须注明owner的邮箱
require_once('conf/config.inc'); // require_once必须有括弧,并且左括弧前面没有空格
class CodingStandard { // 大括号前面加空格,类名开头字母大写,多个字母首字母大写
private $attribute; // 属性注释直接注释在后方
// 数组格式
public $color = array(
'1' => 'red', // 用tab缩进一次
'2' => 'blue',
'3' => 'yellow',
'4' => array(
'1' => 'green', // 在前面的数组对齐列之后再tab缩进一次
'2' => 'gray'
) // 数组的结尾与声明的变量最前面对齐
); // 数组的结尾与数组变量声明的地方对齐
public $number = array(1, 2, 3, 4); // 对于简单数组,可以放一行
// 方法的注释采用双斜线,尽量在一行内完成
function foo($i, $list) { // 1.function名后面的(前面没有空格 2.多个参数,如果有逗号,那么逗号后面要有空格
for ($j = 0; $j < $i; $j++) { // for后面加空格
echo "This is no.{$j}, content is {$list[$j]}"; // echo语句不加括号。
// echo语句里面用单引号还是双引号,根据实际情况定
echo '<table border="0" cellspacing="5" cellpadding="5">';
}
if ($i > 0) { // 1.if后面加空格 2.操作符前后都要有空格
return $i % 2; // 操作符前后是有空格的
} else { // else前后也要有空格
return null;
}
if ($j == $i) return 1; // if里面只有一句语句且较短的情况,建议写成一行,如果要拆成多行,则前后建议加上括号。
$count = count($_SERVER); // 在外面写赋值
if ($count > 10) echo 'pass'; // if里面只做布尔判断,不要写赋值语句
}
public static function testFunction() { // 静态非静态方法命名都遵守驼峰原则
}
}
$s = new CodingStandard(); // new一个对象,后面必须加括弧
$s->foo(10, $s->color); // 函数后面的括弧不要有空格,函数里面超过一个参数,逗号后面就要有空格
CodingStandard::testFunction(); // 静态代码的调用方式唯一,仅限双冒号调用方式
// php文件必须以 ?> 结尾,并且保证其后面没有空格或空行。
?>