PHP经验——PHPDoc PHP注释的标准文档(翻译自Wiki)
文档注释,无非“//”和“/**/”两种 ,自己写代码,就那么点,适当写几句就好了;但是一个人总有融入团队的一天,团队的交流不是那几句注释和一张嘴能解决的,还需要通用的注释标准。
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.目的 2.工作范围 3.工作职责 4.测试的流程 5.测试准备阶段 6.测试方法制定阶段 7.测试执行阶段 8.bug管理 9.标准文档 总结感谢每一个认真阅读我文章的人!!! 重点:配套学 ...
- 网站项目标准文档格式模版---网站项目建设流程概述(转)
网站项目标准文档格式模版---网站项目建设流程概述(转) 一.概念 网站项目管理就是根据特定的规范.在预算范围内.按时完成的网站开发任务. 二.需求分析 项目立项 我们接到客户的业务咨询,经过双 ...
- html脱离标准文档流,关于css脱离标准文档流的两种方式
所谓脱离标准文档流就是将元素从普通的布局排版中拿走,其他盒子在定位的时候,会当做脱离文档流的元素不存在而进行定位. 不浮动的盒子会无视浮动的盒子,假使现有两个盒子,一个浮动一个不浮动,则浮动的盒子会覆 ...
- css样式脱离标准文档流
标准文档流指的是元素排版布局过程中,元素会默认自动从左往右,从上往下的流式排列方式.并最终窗体自上而下分成一行行,并在每行中从左至右的顺序排放元素. 元素脱离标注文档流之后,将不再在标准流中占据空间, ...
- html 浮动脱离文档流,CSS标准文档流与脱离文档流
标准文档流 文档流:指的是元素排版布局过程中,元素会默认自动从左往右,从上往下的流式排列方式.并最终窗体自上而下分成一行行,并在每行中从左至右的顺序排放元素. 标准流的微观现象: 空白折叠现象: 在 ...
- 继承性和层叠性 权重 盒模型 padding(内边距) border(边框) margin 标准文档流 块级元素和行内元素...
内容总结: 1.继承性和层叠性继承性: 像 一些文本的属性: color,text-*,line-*,font-* 这些属性是可以继承下来的2.层叠性就是权重 ,谁的权重大就显示谁的属性如何看权重:就 ...
- 使用sphinx快速为你python注释生成API文档
sphinx简介 sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发.新版的Python3文档就是由sphinx生成的 ...
- [css] 你有去看过或者了解过css的标准文档吗?
[css] 你有去看过或者了解过css的标准文档吗? 当然,CSS 中可以研究的太多了,比如 css2 的层叠上下文极其诡异,比如 body 的默认值与普通 dom 的不同,flex-shrink 的 ...
- css span 右端对齐_CSS标准文档流
web页面的制作,是个"流",像水流一样,必须从上往下,一点点的编织,不像画画,可以这个地方画一个,另一个地方画一个,随意而为. 标准文档流的一些微观现象 1. 空白折叠现象 1) ...
最新文章
- 千亿级数据量的Kafka深度实践
- bzoj 2119 股市的预测 —— 枚举关键点+后缀数组
- 解决GitHub中头像显示异常、设置不了头像、README图片无法显示等问题
- CH - 6901 骑士放置(二分图最大独立集-二分图最大匹配+奇偶拆点)
- P4981-父子【数学,树】
- 深入理解== 和 equals 的区别
- 页面嵌入Windows Media Player需要注意的
- java记事本打开功能_Java简易实现记事本的打开与保存
- 我所期待的易语言2007
- Iphone 5s 8.0.2越狱
- 中职计算机基础知识总结,中职计算机基础知识整理
- windows7蓝牙怎么打开_windwos7系统怎么添加蓝牙鼠标
- android三星打印插件,三星打印服务插件 Samsung Print Service for Android
- 雷迪9000使用说明_标准版DM雷迪操作及维护手册 精品
- 生态 | 解析行业发展前沿 聚焦应用迁移难题,人大金仓受邀参加2020数据技术嘉年华...
- postgres/pgadmin的使用
- HDU 6217 BBP Formula (数学)
- 设计一个时间片轮转法调度的算法
- 大规模mimo技术_如何以小规模预算启动和扩展您的技术产品
- 清朝第一巨贪--和绅
热门文章
- 微信小程序入门 ——增删改查+页面跳转+传值取值+布局样式
- Haproxy+Nginx实现web负载均衡群集
- apache worker性能调优
- printf,sprintf,vsprintf 区别【转】
- kernel: segfault at *** rip *** rsp *** error
- Fragment的一些基础
- flex4 权威指南 part01
- 轻松掌握shell编程中数组的常见用法及示例
- MPLS在ATM技术上实现的研究
- PTA: 6-4建立学生信息链表(20分)