1. 包含尽量不要使用短标签例如
<?
#coding
?>
2. 忽略结束标签,防止其他字符或者空格影响到代码
<?php
$foo = 'foo';
如果不开启压缩或者缓存输出时候才会发生
如果其他代码包含该文件则其他文件则会因为
<?php
?>
之后的空格而出错。
3. 缩进应该能够反映出代码的逻辑结果,尽量使用四个空格,禁止使用制表符TAB,因为这样能够保证有跨客户端编程器软件的灵活性。
例如:
if (1 == $x) {
$indented_code = 1;
if (1 == $new_line) {
$more_indented_code = 1;
}
}
4. 变量名称前根据类型加关键词
例如:字符串:$sMyName
$oPersona $resource $arrMyArray
5. 数据库
数据库表完全使用小写,存储过程使用前缀proc_、触发器使用tri_、Event使用event_、视图使用view_。
6.魔术数字
<?php
define("GREETING","Hello world!",TRUE);
echo constant("greeting");
?>
define(tax,1.05);
$mytax=tax* tax;
7. 换行符
unix系列用 \n
windows系列用 \r\n
mac用 \r
PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性
8. printf(); 格式化字符串尤其是sql语句
<?php
$str = "Hello";
$number = 123;
printf("%s world. Day number %u",$str,$number);
?>
9. 当类成员方法被声明为 private 时,必须分别以双下划线 "__"为开头;被声明为 protected 时,必须分别以单下划线 "_" 为开头;一般情况下的方法不含下划线。例如 :
class Foo
{
private function __example()
// ...
}
protected function _example()
// ...
}
public function example()
// ...
}
}
class Think
{
// ...
static public function autoload($classname)
{
// ...
}
}
11. 变量替换中的变量只允许用 $+变量名 的形式。例如:
$greeting = "Hello $name, welcome back!"; // 允许
$greeting = "Hello {$name}, welcome back!"; // 允许
12.任何类变量的声明都必须放在类顶部,先于任何函数的声明。
13静态 static 方法应该声明其作用域,且不应该再被声明为 private 私有,而应该为 protected 或者public ,如果只是不想被子类继承,则应该用 final 声明它们