<?php
/**
* @author A Name <a.name@example.com>
* @link http://www.phpdoc.org/docs/latest/index.html
*/
class DateTimeHelper
{
/**
* @param mixed $anything Anything that we can convert to a \DateTime object
*
* @throws \InvalidArgumentException
*
* @return \DateTime
*/
public function dateTimeFromAnything($anything)
{
$type = gettype($anything);
switch ($type) {
// Some code that tries to return a \DateTime object
}
throw new \InvalidArgumentException(
"Failed Converting param of type '{$type}' to DateTime object"
);
}
/**
* @param mixed $date Anything that we can convert to a \DateTime object
*
* @return void
*/
public function printISO8601Date($date)
{
echo $this->dateTimeFromAnything($date)->format('c');
}
/**
* @param mixed $date Anything that we can convert to a \DateTime object
*/
public function printRFC2822Date($date)
{
echo $this->dateTimeFromAnything($date)->format('r');
}
}
这个类的说明使用了 @author 和 @link 标记, @author 标记是用來说明代码的作者,在多位开发者的情况下,可以同时列出好几位。其次 @link 标记用来提供网站链接,进一步说明代码和网站之间的关系。
在这个类中,第一个方法的 @param 标记,说明类型、名字和传入方法的参数。此外,@return 和 @throws 标记说明返回类型以及可能抛出的异常。
第二、第三个方法非常类似,和第一个方法一样使用一个 @param 标记。第二、和第三个方法之间关键差別在注释区块使用/排除 @return 标记。@return void 标记明确告诉我们没有返回值,而过去省略 @return void 声明也具有相同效果(沒有返回任何值)。
PHPDocument 标签原文地址。
| 标签 | 适用 | 描述 |
|---|---|---|
| api | 方法 | 声明此元素适用于第三方 |
| author | 任何 | 记录相关作者 |
| category | 文件,类 | 分类 |
| copyright | 任何 | 记录相关版权信息 |
| deprecated | 任何 | 声明此元素不推荐使用, 以后将会弃用 |
| example | 任何 | 显示一部分示例代码 |
| filesource | 文件 | 当前文件的包含源文件 |
| global | 变量 | 告知phpDocumentor全局变量及其用法 |
| ignore | 任何 | 告知phpDocumentor忽略的元素 |
| internal | 任何 | 说明此元素是相关程序或库的内部元素,默认隐藏 |
| license | 文件, 类 | (开源)许可证 |
| link | 任何 | 相关链接 |
| method | 类 | 声明可调用的魔术方法 |
| package | 文件, 类 | 所属包 |
| param | 方法, 函数 | 声明程序或方法所用到的参数 |
| property | 类 | 声明类存在的魔术属性 |
| property-read | 类 | 声明类存在的只读魔术属性 |
| property-write | 类 | 声明当前类所有的只写魔术属性 |
| return | 方法, 函数 | 声明当前方法或函数的返回类型 |
| see | 任何 | 相关参考 |
| since | 任何 | 声明可用版本 |
| source | 任何(除了文件) | 参考来源(源代码) |
| subpackage | 文件, 类 | 所属子包 |
| throws | 方法, 函数 | 声明异常类型 |
| todo | 任何 | 计划还要做的开发任务 |
| uses | 任何 | 表示对(和)单个关联元素的引用。 |
| var | 属性 | xxx |
| version | 任何 | 版本 |