当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP 编码规范-编程惯例

PHP
php 获取可变函数参数的函数
自动把纯文本转换成Web页面的php代码
JieqiCMS 杰奇1.5注册机php源码
php 正则表达式小结
ajax php 实现写入数据库
用php将任何格式视频转为flv的代码
用PHP读取flv文件的播放时间长度
PHP 内存缓存加速功能memcached安装与用法
php getsiteurl()函数
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
不要轻信 PHP_SELF的安全问题
php 遍历数据表数据并列表横向排列的代码
php 获取远程网页内容的函数
PHP 危险函数全解析
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
PHP 裁剪图片成固定大小代码方法
封装一个PDO数据库操作类代码
php 从数据库提取二进制图片的处理代码
frename PHP 灵活文件命名函数 frename
PHP 5.0中多态性的实现方案浅析

PHP 编码规范-编程惯例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 129 ::
收藏到网摘: n/a

9.1 常量

位于for循环中作为计数器值的数字常量,除了-1,0和1之外,不应被直接写入代码。


9.2 变量赋值

避免在一个语句中给多个变量赋相同的值。它很难读懂。例如:
$fooBar.fChar = $barFoo.lchar = 'c'; // 错误

不要将赋值运算符用在容易与相等关系运算符混淆的地方。例如:
if ($c++ = $d++) { // 错误
  ...
}

应该写成
if (($c++ = $d++) != 0) {
  ...
}

不要使用内嵌(embedded)赋值运算符试图提高运行时的效率,这是编译器的工作。例如:
$d = ($a = $b + $c) + $r; // 错误

应该写成
$a = $b + $c;
$d = $a + $r;

9.3.1 圆括号

一般而言,在含有多种运算符的表达式中使用圆括号来避免运算符优先级问题,是个好方法。即使运算符的优先级对你而言可能很清楚,但对其他人未必如此。你不能假设别的程序员和你一样清楚运算符的优先级。
if ($a == $b && $c == $d) // 错误
if (($a == $b) && ($c == $d)) // 正确
9.3 大括号

在三种主要的大括号放置规则中,有两种是可以接受的,如下的第一种是最好的:
将大括号放置在关键词下方的同列处:
if (condition)
{
  ...

  while (condition)
  {
    ... 
  }
}
传统的UNIX的括号规则是,首括号与关键词同行,尾括号与关键字同列:
if (condition) {

  ...

  while (condition) {

    ...

  }
}
引起剧烈争论的非原则的问题可通过折衷的办法解决,两种方法任意一种都是可以接受的,然而对于大多数人来说更喜欢第一种。原因就是心理研究学习范畴的东西了。
对于更喜欢第一种还有着更多的原因。如果您使用的字符编辑器支持括号匹配功能的话(例如vi),最重要的就是有一个好的样式。为什么?我们说当你有一大块的程序而且想知道这一大块程序是在哪儿结束的话。你先移到开始的括号,按下按钮编辑器就会找到与之对应的结束括号,例如:

if (veryLongCondition && secondVeryLongCondition)
{
  ...
}
else if (...)
{
  ...
}
从一个程序块移动到另一个程序块只需要用光标和你的括号匹配键就可以了,不需找匹配的括号。
9.3.3 返回值

设法让你的程序结构符合目的。例如:
if (booleanExpression) {
  return true;
} else {
  return false;
}

应该代之以如下方法:
return booleanExpression;

类似地:
if (condition) {
  return x;
}
return y;

应该写做:
return (condition ? x : y);
9.3.4 运算符"?"前的表达式

如果一个包含二元运算符的表达式出现在三元运算符" ? : "的"?"之前,那么应该给表达式添上一对圆括号。例如:
(x >= 0) ? x : -x;

9.3.5 特殊注释

在注释中使用XXX来标识某些未实现(bogus)的但可以工作(works)的内容。用FIXME来标识某些假的和错误的内容。