有相同的空格分离,最后一个参数和右括号之间不能有空格。下面是一个标准的函数调用; $result = foo($param1, $param2, $param3); 不规范的写法: $result=foo ($param1,$param2,$param3); $result=foo( $param1,$param2, $param3 );
此外,如果要将函数的返回结果赋值,那么在等号和所赋值的变量之间要有空格,同时,如果是一系列相关的赋值语句,你添加适当的空格,使它们对齐,就象这样: $result1 = $foo($param1, $param2, $param3); $var2 = $foo($param3); $var3 = $foo($param4, $param5);
函数定义: 函数定义遵循"one true brace"习俗: function connect(&$dsn, $persistent = false) { if (is_array($dsn)) { $dsninfo = &$dsn; } else { $dsninfo = db::parsedsn($dsn); } if (!$dsninfo || !$dsninfo[''phptype'']) { return $this->raiseerror(); } return true; }
如上所示,可选参数要在参数表的末端,并且总是尽量返回有意义的函数值。 关于注释: 对于类的在线文档,应该能够被phpdoc转换,就象javadoc那样。phpdoc也是一个pear的应用程序,更详细的介绍你可以去http://www.phpdoc.de/查看。除了类的在线文档,建议你应该使用非文档性质的注释来诠释你的代码,当你看到一段代码时想:哦,我想不需要在文档里去仔细描述它吧。那么你最好给这段代码作一个简单的注释,这样防止你会忘记它们是如何工作的。对于注释的形式,c的 /* */和c++的//都不错,不过,不要使用perl或者shell的#注释方式。 包含代码: 无论什么时候,当你需要无条件包含进一个class文件,你必须使用requre_once;当你需要条件包含进一个class文件,你必须使用include_once;这样可以保证你要包含的文件只会包含一次,并且这2个语句共用同一个文件列表,所以你无须担心二者会混淆,一旦require_once 包含了一个文件,include_once不会再重复包含相同的文件,反之亦然。 php代码标记: 任何时候都要使用<?php ?>定义你的php代码,而不要简单地使用<? ?>,这样可以保证pear的兼容性,也利于跨平台的移植。 文件头的注释声明: 所有需要包含在pear核心发布的php代码文件,在文件开始的时候,你必须加入以下的注释声明: /* vim: set expandtab tabstop=4 shiftwidth=4: */ // +----------------------------------------------------------------------+ // | php version 4.0 | // +----------------------------------------------------------------------+ // | copyright (c) 1997, 1998, 1999, 2000, 2001 the php group | // +----------------------------------------------------------------------+ // | this source file is subject to version 2.0 of the php license, | // | that is bundled with this package in the file license, and is | // | available at through the world-wide-web at | // |http://www.php.net/license/2_02.txt. | // | if you did not receive a copy of the php license and are unable to | // | obtain it through the world-wide-web, please send a note to | // |license@php.netso we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // | authors: original author | // | your name | // +----------------------------------------------------------------------+ // // $id$
对于不在pear核心代码库中的文件,建议你也在文件的开始处有这样一个类似的注释块,标明版权,协议,作者等等。同时也在第一行加入vim的modeline,这样在vim中能够保持pear的代码风格。 cvs标记: 如上面所展示那样,在每个 |