关于PHPDocument 代码注释规范的总结


Posted in PHP onJune 25, 2013

1. 安装phpDocumentor(不推荐命令行安装)
在http://manual.phpdoc.org/下载最新版本的PhpDoc
放在web服务器目录下使得通过浏览器可以访问到
点击files按钮,选择要处理的php文件或文件夹
还可以通过该指定该界面下的Files to ignore来忽略对某些文件的处理。
然后点击output按钮来选择生成文档的存放路径和格式.
最后点击create,phpdocumentor就会自动开始生成文档了。

2.如何写PHP规范注释
所有的文档标记都是在每一行的 * 后面以@开头。如果在一段话的中间出来@的标记,这个标记将会被当做普通内容而被忽略掉。
@access 该标记用于指明关键字的存取权限:private、public或proteced 使用范围:class,function,var,define,module
@author 指明作者
@copyright 指明版权信息
@const 使用范围:define 用来指明php中define的常量
@final 使用范围:class,function,var 指明关键字是一个最终的类、方法、属性,禁止派生、修改。
@global 指明在此函数中引用的全局变量
@name 为关键字指定一个别名。
@package 用于逻辑上将一个或几个关键字分到一组。
@abstrcut 说明当前类是一个抽象类
@param 指明一个函数的参数
@return 指明一个方法或函数的返回值
@static 指明关建字是静态的。
@var 指明变量类型
@version 指明版本信息
@todo 指明应该改进或没有实现的地方
@link 可以通过link指到文档中的任何一个关键字
@ingore 用于在文档中忽略指定的关键字

一些注释规范
a.注释必须是
/**
* XXXXXXX
*/
的形式
b.对于引用了全局变量的函数,必须使用glboal标记。
c.对于变量,必须用var标记其类型(int,string,bool...)
d.函数必须通过param和return标记指明其参数和返回值
e.对于出现两次或两次以上的关键字,要通过ingore忽略掉多余的,只保留一个即可
f.调用了其他函数或类的地方,要使用link或其他标记链接到相应的部分,便于文档的阅读。
g.必要的地方使用非文档性注释(PHPDOC无法识别的关键字前的注释),提高代码易读性。
h.描述性内容尽量简明扼要,尽可能使用短语而非句子。
i.全局变量,静态变量和常量必须用相应标记说明

能够被phpdoc识别的关键字:
Include
Require
include_once
require_once
define
function
global
class

3. 规范注释的php代码 :
<?php
/**
* 文件名(sample2.php)
*
* 功能描述(略)
*
* @author steve <https://3water.com>
* @version 1.0
* @package sample2
*/
/**
* 包含文件
*/
include_once 'sample3.php';
/**
* 声明全局变量
* @global integer $GLOBALS['_myvar']
* @name $_myvar
*/
$GLOBALS['_myvar'] = 6;
/**
* 声明全局常量
*/
define('NUM', 6);
/**
* 类名
*
* 类功能描述
*
* @package sample2
* @subpackage classes(如果是父类 就添加)
*/
class myclass {
/**
* 声明普通变量
*
* @accessprivate
* @var integer|string
*/
var $firstvar = 6;
/**
* 创建构造函数 {@link $firstvar}
*/
function myclass() {
$this->firstvar = 7;
}
/**
* 定义函数
*
* 函数功能描述
*
* @global string $_myvar
* @staticvar integer $staticvar
* @param string $param1
* @param string $param2
* @return integer|string
*/
function firstFunc($param1, $param2 = 'optional') {
static $staticvar = 7;
global $_myvar;
return $staticvar;
}
}
?>

PHP 相关文章推荐
文章推荐系统(三)
Oct 09 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 PHP
php调用KyotoTycoon简单实例
Apr 02 PHP
PHP.ini安全配置检测工具pcc简单介绍
Jul 02 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
Oct 20 PHP
使用PHP实现生成HTML静态页面
Nov 18 PHP
Symfony的安装和配置方法
Mar 17 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
Mar 21 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
Apr 20 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 PHP
laravel 使用auth编写登录的方法
Sep 30 PHP
解析php中获取系统信息的方法
Jun 25 #PHP
解析PHP对现有搜索引擎的调用
Jun 25 #PHP
手把手教你打印出PDF(关于fpdf的简单应用)
Jun 25 #PHP
解析如何修改phpmyadmin中的默认登陆超时时间
Jun 25 #PHP
关于Sphinx创建全文检索的索引介绍
Jun 25 #PHP
使用Sphinx对索引进行搜索
Jun 25 #PHP
深入PHP许愿墙模块功能分析
Jun 25 #PHP
You might like
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
解析php中heredoc的使用方法
2013/06/17 PHP
php 判断服务器操作系统的类型
2014/02/17 PHP
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
js中匿名函数的创建与调用方法分析
2014/12/19 Javascript
javascript中SetInterval与setTimeout的定时器用法
2015/08/24 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
jqueryMobile使用示例分享
2016/01/12 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
js实现弹窗效果
2020/08/09 Javascript
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
python解析xml文件方式(解析、更新、写入)
2020/03/05 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
python集合的新增元素方法整理
2020/12/07 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
为什么group by 和order by会使查询变慢
2014/05/16 面试题
最新奶茶店创业计划书
2014/01/25 职场文书
生物工程专业求职信
2014/09/03 职场文书
2014年企业党建工作总结
2014/12/18 职场文书