- string 字符串类型
- integer or int 整型
- boolean or bool 布尔类型 true or false
- float or double 浮点类型
- object 对象
- mixed 混合类型 没有指定类型或不确定类型时使用
- array 数组
- resource 资源类型 (如数据库查询返回)
- void 空值(控制器返回值常常使用)
- null null类型
- callable 回调函数
- false or true 仅仅返回true or fasle 时使用
- self 自身
你会写凝视么?从我写代码開始。这个问题就一直困扰着我。相信也相同困扰着其它同学。曾经的写凝视总是没有一套行之有效的标准,给维护和协同开发带了很多麻烦,直到近期读到了phpdocumentor的凝视标准。
以下对phpdocumentor的凝视标准进行总结:
Type(数据类型):
Tags(标签):
Tag |
Element |
Description |
api |
Methods |
声明接口 |
author |
Any |
作者信息 |
category |
File, Class |
将一系列的元素分类在一起 |
copyright |
Any |
版权信息 |
deprecated |
Any |
声明元素已被弃用,能够在将来的版本号中删除 |
example |
Any |
演示样例 |
filesource |
File |
文件资源 |
global |
Variable |
声明一个全集变量 |
ignore |
Any |
忽略当前元素 (phpdocumentor 生成文档时) |
internal |
Any |
声明一个值为整形,或者设置一个应用的默认值为整型 |
license |
File, Class |
声明许可类型 |
link |
Any |
声明一个和当前元素有关的链接 |
method |
Class |
声明当前类那些魔术方法能够被调用 |
package |
File, Class |
声明当前元素所属的包 |
param |
Method, Function |
声明当前元素的一个參数 |
property |
Class |
声明当前类有那些魔术方法能够被调用属性 |
property-read |
Class |
声明当前类有那些魔术方法能够读取属性 |
property-write |
Class |
声明当前类有那些魔术方法能够设置属性 |
return |
Method, Function |
返回值 |
see |
Any |
说明当前元素參数引用于其它网站或元素 |
since |
Any |
声明当前元素始于于哪个版本号 |
source |
Any, except File |
展示当前元素的源代码 |
subpackage |
File, Class |
将当期元素分类 |
throws |
Method, Function |
说明当前元素抛出的异常 |
todo |
Any |
说明当前元素的开发活动 |
uses |
Any |
引用一个关联元素 |
var |
Properties |
声明属性 |
version |
Any |
版本号 |
Example(演示样例):
// =============================
@api
/** * This method will not change until a major release. * * @api * * @return void */ function showVersion() { <...> }
// =============================
@author
/** * @author My Name * @author My Name <my.name@example.com> */
// =============================
@category
/** * Page-Level DocBlock * * @category MyCategory * @package MyPackage */
// =============================
@copyright
/** * @copyright 1997-2005 The PHP Group */
// =============================
@deprecated
/** * @deprecated * @deprecated 1.0.0 * @deprecated No longer used by internal code and not recommended. * @deprecated 1.0.0 No longer used by internal code and not recommended. */ function count() { <...> }
// =============================
@example
/** * @example example1.php Counting in action. * @example http://example.com/example2.phps Counting in action by a 3rd party. * @example "My Own Example.php" My counting. */ function count() { <...> }
// =============================
@filesource
/** * @filesource */
// =============================
@global phpdocumentor2.0不支持
// =============================
@ignore
if ($ostest) { /** * This define will either be 'Unix' or 'Windows' */ define("OS","Unix"); } else { /** * @ignore */ define("OS","Windows"); }
// =============================
@internal
/** * @internal * * @return integer Indicates the number of items. */ function count() { <...> }
/** * Counts the number of Foo. * * {@internal Silently adds one extra Foo to compensate for lack of Foo }} * * @return integer Indicates the number of items. */ function count() { <...> }
// =============================
@license
/** * @license GPL * @license http://opensource.org/licenses/gpl-license.php GNU Public License */
// =============================
@link
/** * @link http://example.com/my/bar Documentation of Foo. * * @return integer Indicates the number of items. */ function count() { <...> }
/** * This method counts the occurrences of Foo. * * When no more Foo ({@link http://example.com/my/bar}) are given this * function will add one as there must always be one Foo. * * @return integer Indicates the number of items. */ function count() { <...> }
// =============================
@method
class Parent { public function __call() { <...> } } /** * @method string getString() * @method void setInteger(integer $integer) * @method setString(integer $integer) */ class Child extends Parent { <...> }
// =============================
@package
/** * @package PSRDocumentationAPI */
// =============================
@param
/** * Counts the number of items in the provided array. * * @param mixed[] $items Array structure to count the elements of. * * @return int Returns the number of elements. */ function count(array $items) { <...> }
// =============================
@property
class Parent { public function __get() { <...> } } /** * @property string $myProperty */ class Child extends Parent { <...> }
// =============================
@property-read
class Parent { public function __get() { <...> } } /** * @property-read string $myProperty */ class Child extends Parent { <...> }
// =============================
@property-write
class Parent { public function __set() { <...> } } /** * @property-write string $myProperty */ class Child extends Parent { <...> }
// =============================
@return
/** * @return integer Indicates the number of items. */ function count() { <...> }
/** * @return string|null The label's text or null if none provided. */ function getLabel() { <...> }
// =============================
@see
/** * @see http://example.com/my/bar Documentation of Foo. * @see MyClass::$items for the property whose items are counted * @see MyClass::setItems() to set the items for this collection. * * @return integer Indicates the number of items. */ function count() { <...> }
// =============================
@since
/** * @since 1.0.1 First time this was introduced. * * @return integer Indicates the number of items. */ function count() { <...> }
/** * @since 1.0.2 Added the $b argument. * @since 1.0.1 Added the $a argument. * @since 1.0.0 * * @return void */ function dump($a, $b) { <...> }
// =============================
@source
/** * @source 2 1 Check that ensures lazy counting. */ function count() { if (null === $this->count) { <...> } }
// =============================
@subpackage
/** * @package PSR * @subpackage DocumentationAPI */
// =============================
@throws
/** * Counts the number of items in the provided array. * * @param mixed[] $array Array structure to count the elements of. * * @throws InvalidArgumentException if the provided argument is not of type * 'array'. * * @return int Returns the number of elements. */ function count($items) { <...> }
// =============================
@todo
/** * Counts the number of items in the provided array. * * @todo add an array parameter to count * * @return int Returns the number of elements. */ function count() { <...> }
// =============================
@uses
/** * @uses MyClass::$items to retrieve the count from. * * @return integer Indicates the number of items. */ function count() { <...> }
// =============================
@var
class Counter { /** * @var */ public $var; }
// =============================
@version
/** * @version 1.0.1 */ class Counter { <...> }
/** * @version GIT: $Id$ In development. Very unstable. */ class NeoCounter { <...> }
// =============================
phpdocumentor手冊:http://www.phpdoc.org/docs/latest/index.html