PHPDOC
PHPDoc 是一个 PHP 版的 Javadoc。它是一种注释 PHP 代码的正式标准。它支持通过类似 phpDocumentor 这样的外部文档生成器生成 API 文档,也可以帮助一些例如 Zend Studio, NetBeans, ActiveState Komodo Edit and IDE 和 Aptana Studio 之类的 集成开发环境 理解变量类型和弱类型语言中的其他歧义并提供改进的代码完成,类型提示和除错功能。
PHPDoc 可同时支持 面向对象 的和 面向过程的 代码。
简单来说 PHPDOC 可以用来自动生成 API 文档。主流的 IDE 都会识别它,并在你 coding 中给予你相应的智能提示。使用 PHPDOC 有以下好处
- 让你的代码更加规 zhuang 范 bi,更易于理解
让你的 IDE 更懂你的代码,更加智能的提示和自动完成
如需 API 手册,可使用 phpDocumentor 来自动生成
有关 phpDoc 的完整文档位于 phpDocumentor 官网。以下内容由我个人理解、提炼而来,而且我也还在学习中,如有失误还请各位多多指教
- @api表示这是一个提供给第三方使用的 API 接口@author作者格式 @author [名称] [<邮箱>]例如 @author mokeyjay <i@mokeyjay.com>@copyright版权声明。例如很多网站底部都有格式 @copyright [描述]例如 @copyright 1949-2016 China@deprecated不建议使用的、已过期的、将被删除的格式 @deprecated [<版本号>] [<描述>]例如 @deprecated 1.0.0 新版本将不再包含此函数如果它是被其他方法所取代了,建议添加 @see 标记@example例子、示例、用例。也可表示方法返回值的例子格式 @example [位置] [<起始行号> [<行数>] ] [<描述>]例如 @example demo.php 10 3 使用示例@filesource没看懂,如果你们看懂了请告诉我。传送门@global全局变量格式 @global [类型][名称] @global [类型][描述]我怀疑这里是源文档打错了,大概应该是格式 @global [类型][名称][描述]类型 @global string name 用户名@ignore忽略格式 @ignore [<描述>]例如你在 if 和 else 的语句块中定义分别同一个变量但值不同时,可以通过此标记让 phpDocumentor 忽略其中一个,以免生成重复的文档。例如if ($ostest) { /** * This define will either be 'Unix' or 'Windows' */ define("OS","Unix"); } else { /** * @ignore */ define("OS","Windows"); }@internal仅限内部使用的格式 @internal [描述]例如 @internal 仅限内部测试使用@license协议,很常见的啦格式 @license [<url>] [名称]例如 @license GPL@link链接,可用于辅助说明、引用文档等格式 @link [url] [<描述>]例如 @link http://g.cn 不懂滚去问谷歌,别来烦我@method方法。这是用在类注释里的标记。特别适合一些动态加载的类,IDE 无法自动提示出来,这时就可以通过写 @method 标记来告诉 IDE 我这类里有哪些方法格式 @method [返回值类型] [名称]([[类型] [参数]<, ...>]) [<描述>]例如 @method string google(string $question) 向谷歌提问,返回答案内容@package包。但 php 没有包,所以就用来表示命名空间例如 @package yii\base\db@param参数,用于函数和方法注释里的标记格式 @param [Type] [name] [<description>]例如 @param string title 文章标题@property类属性,与 @method 类似,可以告诉 IDE 我这类里有哪些属性格式 @property [Type] [name] [<description>]例如 @property int id 用户id@property-read只读的属性。例如__get 魔术方法能够取到的属性格式 @property-read [Type] [name] [<description>]例如 @property-read int id 用户id@property-write只可写的属性。例如__set 魔术方法能够设置的属性格式 @property-write [Type] [name] [<description>]例如 @property-write string name 用户名@return返回值格式 @return [类型] [<描述>]]例如 @return array 结果数组@see参考,类似 @link,可与 @deprecated 联动格式 @see [url或完整方法名] [<描述>]例如 @see \yii\base\db::tableName() 旧方法table_name已弃用,请使用此方法替代@since从 xx 版本开始。例如从 1.0 之后添加了 xx 功能、删除了 xx 参数等格式 @since [1.0.0] [<描述>]例如 @since 1.0.2 添加了$b参数@source没看懂,如果你们看懂了请告诉我。传送门@throws可能会抛出的错误类型格式 @throws [类型] [<描述>]例如 @throws LifeException 没钱了,好想死啊@todo待办。提示自己或他人还需要做些什么格式 @todo [描述]例如 @todo 这个类还没做异常处理@uses使用格式 @uses [完整方法名] [<描述>]例如 @uses \yii\base\db::$count 使用此属性计数@var变量格式 @var [类型] [变量名] [<描述>]例如 @var int id 用户id@version版本号格式 @version [<载体>] [<描述>]例如 @version 1.0.1 2016-07-03更新或者 @version GIT:1f3197d01 来自GIT分支1f3197d01