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()
    {
        // ...
    }
}
 
10. 如果我们需要把一些经常使用的方法定义为全局函数,那么应该把它们以静态 (static) 的形式定义在类中。例如:
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 声明它们

04-24 19:03