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

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注释实例:

<?php /*** start page for webaccess** PHP version 5** @category  PHP* @package   PSI_Web* @author    Michael Cramer <BigMichi1@users.sourceforge.net>* @copyright 2009 phpSysInfo* @license   http://opensource.org/licenses/gpl-2.0.php GNU General Public License* @version   SVN: $Id: class.Webpage.inc.php 412 2010-12-29 09:45:53Z Jacky672 $* @link      http://phpsysinfo.sourceforge.net*//*** generate the dynamic webpage** @category  PHP* @package   PSI_Web* @author    Michael Cramer <BigMichi1@users.sourceforge.net>* @copyright 2009 phpSysInfo* @license   http://opensource.org/licenses/gpl-2.0.php GNU General Public License* @version   Release: 3.0* @link      http://phpsysinfo.sourceforge.net*/class Webpage extends Output implements PSI_Interface_Output{/*** configured language** @var String*/private $_language;/*** configured template** @var String*/private $_template;/*** all available templates** @var Array*/private $_templates = array();/*** all available languages** @var Array*/private $_languages = array();/*** check for all extensions that are needed, initialize needed vars and read config.php*/public function __construct(){parent::__construct();$this->_getTemplateList();$this->_getLanguageList();}/*** checking config.php setting for template, if not supportet set phpsysinfo.css as default* checking config.php setting for language, if not supported set en as default** @return void*/private function _checkTemplateLanguage(){$this->_template = trim(PSI_DEFAULT_TEMPLATE);if (!file_exists(APP_ROOT.'/templates/'.$this->_template.".css")) {$this->_template = 'phpsysinfo';}$this->_language = trim(PSI_DEFAULT_LANG);if (!file_exists(APP_ROOT.'/language/'.$this->_language.".xml")) {$this->_language = 'en';}}/*** get all available tamplates and store them in internal array** @return void*/private function _getTemplateList(){$dirlist = CommonFunctions::gdc(APP_ROOT.'/templates/');sort($dirlist);foreach ($dirlist as $file) {$tpl_ext = substr($file, strlen($file) - 4);$tpl_name = substr($file, 0, strlen($file) - 4);if ($tpl_ext === ".css") {array_push($this->_templates, $tpl_name);}}}/*** get all available translations and store them in internal array** @return void*/private function _getLanguageList(){$dirlist = CommonFunctions::gdc(APP_ROOT.'/language/');sort($dirlist);foreach ($dirlist as $file) {$lang_ext = substr($file, strlen($file) - 4);$lang_name = substr($file, 0, strlen($file) - 4);if ($lang_ext == ".xml") {array_push($this->_languages, $lang_name);}}}/*** render the page** @return void*/public function run(){$this->_checkTemplateLanguage();$tpl = new Template("/templates/html/index_dynamic.html");$tpl->set("template", $this->_template);$tpl->set("templates", $this->_templates);$tpl->set("language", $this->_language);$tpl->set("languages", $this->_languages);echo $tpl->fetch();}}?>

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

  1. 做测试一定要知道的——软件测试流程和测试规范标准文档

    目录 1.目的 2.工作范围 3.工作职责 4.测试的流程 5.测试准备阶段 6.测试方法制定阶段 7.测试执行阶段 8.bug管理 9.标准文档 总结感谢每一个认真阅读我文章的人!!! 重点:配套学 ...

  2. 网站项目标准文档格式模版---网站项目建设流程概述(转)

     网站项目标准文档格式模版---网站项目建设流程概述(转) 一.概念 网站项目管理就是根据特定的规范.在预算范围内.按时完成的网站开发任务. 二.需求分析 项目立项 我们接到客户的业务咨询,经过双 ...

  3. html脱离标准文档流,关于css脱离标准文档流的两种方式

    所谓脱离标准文档流就是将元素从普通的布局排版中拿走,其他盒子在定位的时候,会当做脱离文档流的元素不存在而进行定位. 不浮动的盒子会无视浮动的盒子,假使现有两个盒子,一个浮动一个不浮动,则浮动的盒子会覆 ...

  4. css样式脱离标准文档流

    标准文档流指的是元素排版布局过程中,元素会默认自动从左往右,从上往下的流式排列方式.并最终窗体自上而下分成一行行,并在每行中从左至右的顺序排放元素. 元素脱离标注文档流之后,将不再在标准流中占据空间, ...

  5. html 浮动脱离文档流,CSS标准文档流与脱离文档流

    标准文档流 文档流:指的是元素排版布局过程中,元素会默认自动从左往右,从上往下的流式排列方式.并最终窗体自上而下分成一行行,并在每行中从左至右的顺序排放元素. 标准流的微观现象: 空白折叠现象: 在 ...

  6. 继承性和层叠性 权重 盒模型 padding(内边距) border(边框) margin 标准文档流 块级元素和行内元素...

    内容总结: 1.继承性和层叠性继承性: 像 一些文本的属性: color,text-*,line-*,font-* 这些属性是可以继承下来的2.层叠性就是权重 ,谁的权重大就显示谁的属性如何看权重:就 ...

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

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

  8. [css] 你有去看过或者了解过css的标准文档吗?

    [css] 你有去看过或者了解过css的标准文档吗? 当然,CSS 中可以研究的太多了,比如 css2 的层叠上下文极其诡异,比如 body 的默认值与普通 dom 的不同,flex-shrink 的 ...

  9. css span 右端对齐_CSS标准文档流

    web页面的制作,是个"流",像水流一样,必须从上往下,一点点的编织,不像画画,可以这个地方画一个,另一个地方画一个,随意而为. 标准文档流的一些微观现象 1. 空白折叠现象 1) ...

最新文章

  1. 千亿级数据量的Kafka深度实践
  2. bzoj 2119 股市的预测 —— 枚举关键点+后缀数组
  3. 解决GitHub中头像显示异常、设置不了头像、README图片无法显示等问题
  4. CH - 6901 骑士放置(二分图最大独立集-二分图最大匹配+奇偶拆点)
  5. P4981-父子【数学,树】
  6. 深入理解== 和 equals 的区别
  7. 页面嵌入Windows Media Player需要注意的
  8. java记事本打开功能_Java简易实现记事本的打开与保存
  9. 我所期待的易语言2007
  10. Iphone 5s 8.0.2越狱
  11. 中职计算机基础知识总结,中职计算机基础知识整理
  12. windows7蓝牙怎么打开_windwos7系统怎么添加蓝牙鼠标
  13. android三星打印插件,三星打印服务插件 Samsung Print Service for Android
  14. 雷迪9000使用说明_标准版DM雷迪操作及维护手册 精品
  15. 生态 | 解析行业发展前沿 聚焦应用迁移难题,人大金仓受邀参加2020数据技术嘉年华...
  16. postgres/pgadmin的使用
  17. HDU 6217 BBP Formula (数学)
  18. 设计一个时间片轮转法调度的算法
  19. 大规模mimo技术_如何以小规模预算启动和扩展您的技术产品
  20. 清朝第一巨贪--和绅

热门文章

  1. 微信小程序入门 ——增删改查+页面跳转+传值取值+布局样式
  2. Haproxy+Nginx实现web负载均衡群集
  3. apache worker性能调优
  4. printf,sprintf,vsprintf 区别【转】
  5. kernel: segfault at *** rip *** rsp *** error
  6. Fragment的一些基础
  7. flex4 权威指南 part01
  8. 轻松掌握shell编程中数组的常见用法及示例
  9. MPLS在ATM技术上实现的研究
  10. PTA: 6-4建立学生信息链表(20分)