rivate、 protected 或 public 声明它们的可见性。
象类一样,花括号从函数名的下一行开始,函数名和括参数的圆括号中间没有空格。
强烈反对使用全局函数。
可接受的在类中的函数声明的例子: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. /** * Documentation Block Here */ class Foo { /** * Documentation Block Here */ public function bar() { // entire content of function // must be indented four spaces } }
复制代码 注: 传址(Pass-by-reference)只在函数声明中允许: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
/** * Documentation Block Here */ class Foo { /** * Documentation Block Here */ public function bar(&;$baz) {} }
复制代码 传址在调用时是禁止的。
返回值不能在圆括号中, 这妨碍可读性而且如果将来方法被修改成传址方式, 代码会有
问题。 1. /**
2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
* Documentation Block Here */ class Foo { /** * WRONG */ public function bar() { return($this->bar); } /** * RIGHT */ public function bar() { return $this->bar; } }
复制代码 B.4.5.2. 函数和方法的用法
函数的参数用逗号和紧接着的空格分开,下面的例子中的函数带有三个参数: 1. threeArguments(1, 2, 3); 复制代码 传址方式在调用的时候是禁止的,参见函数的声明一节如何正确使用函数的传址方式。 带有数组参数的函数,函数的调用可包括 "array" 并分成多行来提高可读性,同时,书写数 组的标准仍然适用: 1. threeArguments(array(1, 2, 3), 2, 3); 2. 3. threeArguments(array(1, 2, 3, 'Zend', 'Studio', 4. $a, $b, $c, 5. 56.44, $d, 500), 2, 3); 复制代码 B.4.6. 控制语句 B.4.6.1. If / Else / Elseif 使用 if and elseif 的控制语句在条件语句的圆括号前后都必须有一个空格。
在圆括号里的条件语句, 操作符必须用空格分开, 鼓励使用多重圆括号以提高在复杂的条件 中划分逻辑组合。
前花括号必须和条件语句在同一行, 后花括号单独在最后一行, 其中的内容用四个空格缩进。 1. if ($a != 2) { 2. $a = 2; 3. } 复制代码 下面的例子示例 "if" 语句, 包括 "elseif" 或 "else" 的格式约定: 1. if ($a != 2) { 2. $a = 2; 3. } else { 4. $a = 7; 5. } 复制代码 1. 2. 3. 4. 5. 6. 7. if ($a != 2) { $a = 2; } elseif ($a == 3) { $a = 4; } else { $a = 7; }