i漂泊

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 382|回复: 0

PHPDOC

[复制链接]
TA的礼物信息
  • 收到:0
  • 送出:2
发表于 2021-5-19 17:06:31 | 显示全部楼层 |阅读模式
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 吧!

有关 phpDoc 的完整文档位于 phpDocumentor 官网。以下内容由我个人理解、提炼而来,而且我也还在学习中,如有失误还请各位多多指教

  1. @api
  2. 表示这是一个提供给第三方使用的 API 接口

  3. @author
  4. 作者
  5. 格式 @author [名称] [<邮箱>]
  6. 例如 @author mokeyjay <i@mokeyjay.com>

  7. @copyright
  8. 版权声明。例如很多网站底部都有
  9. 格式 @copyright [描述]
  10. 例如 @copyright 1949-2016 China

  11. @deprecated
  12. 不建议使用的、已过期的、将被删除的
  13. 格式 @deprecated [<版本号>] [<描述>]
  14. 例如 @deprecated 1.0.0 新版本将不再包含此函数
  15. 如果它是被其他方法所取代了,建议添加 @see 标记

  16. @example
  17. 例子、示例、用例。也可表示方法返回值的例子
  18. 格式 @example [位置] [<起始行号> [<行数>] ] [<描述>]
  19. 例如 @example demo.php 10 3 使用示例

  20. @filesource
  21. 没看懂,如果你们看懂了请告诉我。传送门

  22. @global
  23. 全局变量
  24. 格式 @global [类型][名称] @global [类型][描述]
  25. 我怀疑这里是源文档打错了,大概应该是
  26. 格式 @global [类型][名称][描述]
  27. 类型 @global string name 用户名

  28. @ignore
  29. 忽略
  30. 格式 @ignore [<描述>]
  31. 例如你在 if 和 else 的语句块中定义分别同一个变量但值不同时,可以通过此标记让 phpDocumentor 忽略其中一个,以免生成重复的文档。例如

  32. if ($ostest) {
  33.      /**
  34.       * This define will either be 'Unix' or 'Windows'
  35.       */
  36.      define("OS","Unix");
  37. } else {
  38.      /**
  39.       * @ignore
  40.       */
  41.      define("OS","Windows");
  42. }
  43. @internal
  44. 仅限内部使用的
  45. 格式 @internal [描述]
  46. 例如 @internal 仅限内部测试使用

  47. @license
  48. 协议,很常见的啦
  49. 格式 @license [<url>] [名称]
  50. 例如 @license GPL

  51. @link
  52. 链接,可用于辅助说明、引用文档等
  53. 格式 @link [url] [<描述>]
  54. 例如 @link http://g.cn 不懂滚去问谷歌,别来烦我

  55. @method
  56. 方法。这是用在类注释里的标记。特别适合一些动态加载的类,IDE 无法自动提示出来,这时就可以通过写 @method 标记来告诉 IDE 我这类里有哪些方法
  57. 格式 @method [返回值类型] [名称]([[类型] [参数]<, ...>]) [<描述>]
  58. 例如 @method string google(string $question) 向谷歌提问,返回答案内容

  59. @package
  60. 包。但 php 没有包,所以就用来表示命名空间
  61. 例如 @package yii\base\db

  62. @param
  63. 参数,用于函数和方法注释里的标记
  64. 格式 @param [Type] [name] [<description>]
  65. 例如 @param string title 文章标题

  66. @property
  67. 类属性,与 @method 类似,可以告诉 IDE 我这类里有哪些属性
  68. 格式 @property [Type] [name] [<description>]
  69. 例如 @property int id 用户id

  70. @property-read
  71. 只读的属性。例如__get 魔术方法能够取到的属性
  72. 格式 @property-read [Type] [name] [<description>]
  73. 例如 @property-read int id 用户id

  74. @property-write
  75. 只可写的属性。例如__set 魔术方法能够设置的属性
  76. 格式 @property-write [Type] [name] [<description>]
  77. 例如 @property-write string name 用户名

  78. @return
  79. 返回值
  80. 格式 @return [类型] [<描述>]]
  81. 例如 @return array 结果数组

  82. @see
  83. 参考,类似 @link,可与 @deprecated 联动
  84. 格式 @see [url或完整方法名] [<描述>]
  85. 例如 @see \yii\base\db::tableName() 旧方法table_name已弃用,请使用此方法替代

  86. @since
  87. 从 xx 版本开始。例如从 1.0 之后添加了 xx 功能、删除了 xx 参数等
  88. 格式 @since [1.0.0] [<描述>]
  89. 例如 @since 1.0.2 添加了$b参数

  90. @source
  91. 没看懂,如果你们看懂了请告诉我。传送门

  92. @throws
  93. 可能会抛出的错误类型
  94. 格式 @throws [类型] [<描述>]
  95. 例如 @throws LifeException 没钱了,好想死啊

  96. @todo
  97. 待办。提示自己或他人还需要做些什么
  98. 格式 @todo [描述]
  99. 例如 @todo 这个类还没做异常处理

  100. @uses
  101. 使用
  102. 格式 @uses [完整方法名] [<描述>]
  103. 例如 @uses \yii\base\db::$count 使用此属性计数

  104. @var
  105. 变量
  106. 格式 @var [类型] [变量名] [<描述>]
  107. 例如 @var int id 用户id

  108. @version
  109. 版本号
  110. 格式 @version [<载体>] [<描述>]
  111. 例如 @version 1.0.1 2016-07-03更新
  112. 或者 @version GIT:1f3197d01 来自GIT分支1f3197d01
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|IPiaoBo Inc. ( 渝ICP备17002826号 )

GMT+8, 2024-4-26 17:51 , Processed in 0.047494 second(s), 43 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表