文档注释,无非“//”和“/**/”两种 ,自己写代码,就那么点,适当写几句就好了;但是一个人总有融入团队的一天,团队的交流不是那几句注释和一张嘴能解决的,还需要通用的注释标准。

PHPDoc是PHP文档注释的一个标准,可以帮助我们在注释文档时有规范,查看别人的代码时更方便。下面的表格是我翻译的WIKI上的PHPDoc,个人英文水平有限,可以参照原文。

文档翻译自:http://en.wikipedia.org/wiki/Phpdoc

标记 用途 描述
@abstract   抽象类的变量和方法
@access public, private or protected 文档的访问、使用权限. @access private 表明这个文档是被保护的。
@author 张三 <zhangsan@163.com> 文档作者
@copyright 名称 时间 文档版权信息
@deprecated version 文档中被废除的方法
@deprec   同 @deprecated
@example /path/to/example 文档的外部保存的示例文件的位置。
@exception   文档中方法抛出的异常,也可参照 @throws.
@global 类型:$globalvarname 文档中的全局变量及有关的方法和函数
@ignore   忽略文档中指定的关键字
@internal   开发团队内部信息
@link URL 类似于license 但还可以通过link找到文档中的更多个详细的信息
@name 变量别名 为某个变量指定别名
@magic   phpdoc.de compatibility
@package 封装包的名称 一组相关类、函数封装的包名称
@param 如 [$username] 用户名 变量含义注释
@return 如 返回bool 函数返回结果描述,一般不用在void(空返回结果的)的函数中
@see 如 Class Login() 文件关联的任何元素(全局变量,包括,页面,类,函数,定义,方法,变量)。
@since version 记录什么时候对文档的哪些部分进行了更改
@static   记录静态类、方法
@staticvar   在类、函数中使用的静态变量
@subpackage   子版本
@throws   某一方法抛出的异常
@todo   表示文件未完成或者要完善的地方
@var type 文档中的变量及其类型
@version   文档、类、函数的版本信息

原文截图:

原文:

http://www.cnblogs.com/picaso/archive/2012/10/04/2711435.html

PHPDoc注释实例:

  1. <?php
  2. /**
  3. * start page for webaccess
  4. *
  5. * PHP version 5
  6. *
  7. * @category PHP
  8. * @package PSI_Web
  9. * @author Michael Cramer <BigMichi1@users.sourceforge.net>
  10. * @copyright 2009 phpSysInfo
  11. * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
  12. * @version SVN: $Id: class.Webpage.inc.php 412 2010-12-29 09:45:53Z Jacky672 $
  13. * @link http://phpsysinfo.sourceforge.net
  14. */
  15. /**
  16. * generate the dynamic webpage
  17. *
  18. * @category PHP
  19. * @package PSI_Web
  20. * @author Michael Cramer <BigMichi1@users.sourceforge.net>
  21. * @copyright 2009 phpSysInfo
  22. * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
  23. * @version Release: 3.0
  24. * @link http://phpsysinfo.sourceforge.net
  25. */
  26. class Webpage extends Output implements PSI_Interface_Output
  27. {
  28. /**
  29. * configured language
  30. *
  31. * @var String
  32. */
  33. private $_language;
  34.  
  35. /**
  36. * configured template
  37. *
  38. * @var String
  39. */
  40. private $_template;
  41.  
  42. /**
  43. * all available templates
  44. *
  45. * @var Array
  46. */
  47. private $_templates = array();
  48.  
  49. /**
  50. * all available languages
  51. *
  52. * @var Array
  53. */
  54. private $_languages = array();
  55.  
  56. /**
  57. * check for all extensions that are needed, initialize needed vars and read config.php
  58. */
  59. public function __construct()
  60. {
  61. parent::__construct();
  62. $this->_getTemplateList();
  63. $this->_getLanguageList();
  64. }
  65.  
  66. /**
  67. * checking config.php setting for template, if not supportet set phpsysinfo.css as default
  68. * checking config.php setting for language, if not supported set en as default
  69. *
  70. * @return void
  71. */
  72. private function _checkTemplateLanguage()
  73. {
  74. $this->_template = trim(PSI_DEFAULT_TEMPLATE);
  75. if (!file_exists(APP_ROOT.'/templates/'.$this->_template.".css")) {
  76. $this->_template = 'phpsysinfo';
  77. }
  78.  
  79. $this->_language = trim(PSI_DEFAULT_LANG);
  80. if (!file_exists(APP_ROOT.'/language/'.$this->_language.".xml")) {
  81. $this->_language = 'en';
  82. }
  83. }
  84.  
  85. /**
  86. * get all available tamplates and store them in internal array
  87. *
  88. * @return void
  89. */
  90. private function _getTemplateList()
  91. {
  92. $dirlist = CommonFunctions::gdc(APP_ROOT.'/templates/');
  93. sort($dirlist);
  94. foreach ($dirlist as $file) {
  95. $tpl_ext = substr($file, strlen($file) - 4);
  96. $tpl_name = substr($file, 0, strlen($file) - 4);
  97. if ($tpl_ext === ".css") {
  98. array_push($this->_templates, $tpl_name);
  99. }
  100. }
  101. }
  102.  
  103. /**
  104. * get all available translations and store them in internal array
  105. *
  106. * @return void
  107. */
  108. private function _getLanguageList()
  109. {
  110. $dirlist = CommonFunctions::gdc(APP_ROOT.'/language/');
  111. sort($dirlist);
  112. foreach ($dirlist as $file) {
  113. $lang_ext = substr($file, strlen($file) - 4);
  114. $lang_name = substr($file, 0, strlen($file) - 4);
  115. if ($lang_ext == ".xml") {
  116. array_push($this->_languages, $lang_name);
  117. }
  118. }
  119. }
  120.  
  121. /**
  122. * render the page
  123. *
  124. * @return void
  125. */
  126. public function run()
  127. {
  128. $this->_checkTemplateLanguage();
  129.  
  130. $tpl = new Template("/templates/html/index_dynamic.html");
  131.  
  132. $tpl->set("template", $this->_template);
  133. $tpl->set("templates", $this->_templates);
  134. $tpl->set("language", $this->_language);
  135. $tpl->set("languages", $this->_languages);
  136.  
  137. echo $tpl->fetch();
  138. }
  139. }
  140. ?>
 
 

PHP经验——PHPDoc PHP注释的标准文档(翻译自Wiki)的更多相关文章

  1. [转]PHP经验——PHPDoc PHP注释的标准文档

    文档翻译自:http://en.wikipedia.org/wiki/Phpdoc 标记 用途 描述 @abstract   抽象类的变量和方法 @access public, private or ...

  2. .Net魔法堂:提取注释生成API文档

    一.前言 在多人协作的项目中,除了良好的代码规范外,完整的API文档也相当重要.通过文档我们快速了解系统各模块的实际接口,及其使用场景.使用示例,一定程度上降低沟通成本,和减少后期维护中知识遗失等风险 ...

  3. 浅谈,html\css脱离标准文档流相关

    (个人知识有限,难免有误,请见谅) 标准文档流,顾名思义,是要按照一定规矩排列的,默认的就是元素会从左至右,从上至下排列,块级会独占一行,行内元素会和小伙伴们共享一行. 本来在标准文档流下,各个元素相 ...

  4. AVS、MPEG-2、H264标准文档

    联合信源对AVS解码源码和相应的AVS码流.AVS码流太大,可以从http://cosoft.org.cn/projects/avsdec下载.解压avsdec_source.zip后,用VC6编译a ...

  5. 页面标准文档流、浮动层、float属性(转)

    CSS float 浮动属性介绍 float属性:定义元素朝哪个方向浮动. 1.页面标准文档流.浮动层.float属性 1.1 文档流 HTML页面的标准文档流(默认布局)是:从上到下,从左到右,遇块 ...

  6. HTML的概念和三大基石以及标准文档结构

    HTML的概念: 概念:  HTML:超文本标记语言 作用:  需要将java在后台根据用户请求处理的请求结果在浏览器中显示给用户.  在浏览器中数据需要使用友好的格式展示给用户.  HTML是告诉浏 ...

  7. Unit 6.标准文档流,浮动,清除浮动以及margin塌陷问题

    一. 什么是标准文档流 文本流其实就是文档的读取和输出顺序,也就是我们通常看到的由左到右.由上而下的读取和输出形式,在网页中每个元素都是按照这个顺序进行排序和显示的,而float和position两个 ...

  8. python全栈开发 * 继承性 层叠性 盒模型 标准文档流 * 180809

    ---恢复内容开始--- 一继承性 1.继承: 给父级设置一些属性,子级继承了父级的该属性,这就是我们的css中的继承. 2. 可继承: color . font-*(size). text-*(de ...

  9. 使用sphinx快速为你python注释生成API文档

    sphinx简介sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发.新版的Python3文档就是由sphinx生成的, ...

随机推荐

  1. Linux环境变量(小马哥推荐)

    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一 ...

  2. socket 粘包问题(转)

    https://www.v2ex.com/t/234785#reply3 1. 面向字节流的 IO 都有这个问题. socket 中 tcp 协议是面向流的协议,发送方发送和接收方的接收并不是一一对应 ...

  3. centos php php-fpm install

    好记性不如烂笔头,把自己安装的步骤记录下来 1.下载php-5.2.8以及php-5.2.8-fpm-0.5.10.diff.gz,放到/usr/local/src目录 2.解压php-5.2.8到/ ...

  4. nodejs 基本操作

    查看nodejs版本 nodejs -v 升级nodejs node有一个模块叫n(这名字可够短的...),是专门用来管理node.js的版本的.首先安装n模块:npm install -g n 第二 ...

  5. 关于“未使用GUID分区表”无法安装的解决方案

    原帖链接:http://itc.do-johodai.ac.jp/~s0823612/ 原版的Mac不能安装在mbr分区.必须得用GUID分区,其实装在mbr也可以,需要修改两个文件一个是OSInst ...

  6. HDU1896Stones(优先队列)

    地址http://acm.hdu.edu.cn/showproblem.php?pid=1896 题目大一比较简单,就是说在一条直线道路上有n个石头,往前走,遇到一个数一个,如果遇到的是第奇数个那就把 ...

  7. Makefile基础

    1.规则 规则定义格式如下 目标 : 条件1 条件2 ... 命令1 命令2 ... 隐含规则和模式规则(略) 2.变量 Makefile变量像C的宏定义一样,代表一串字符,在取值的地方展开. 1)两 ...

  8. 通过ajax获得json数据后格式的转换

    在有些情况下获取到的json数据可能是string类型的,需要把其格式化为json对象才方便解析. a)原生js通过ajax获取到的json 此时返回的数据默认是string型的,所以需要用eval( ...

  9. C语言运算符表

    优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右   () 圆括号 (表达式)/函数名(形参表)   . 成员选择(对象) 对象.成员名   -& ...

  10. Linux下MySQL5.6的修改字符集编码为UTF8

    一.登录MySQL查看用SHOW VARIABLES LIKE 'character%';下字符集,显示如下: +--------------------------+---------------- ...