关于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 相关文章推荐
PHP 一个页面执行时间类代码
Mar 05 PHP
PHP 无限分类三种方式 非函数的递归调用!
Aug 26 PHP
php shell超强免杀、减少体积工具实现代码
Oct 16 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
Jun 19 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
Aug 23 PHP
重新认识php array_merge函数
Aug 31 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
php中关于socket的系列函数总结
May 18 PHP
Yii CGridView用法实例详解
Jul 12 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
Apr 23 PHP
php+laravel依赖注入知识点总结
Nov 04 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
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
php cookie用户登录的详解及实例代码
2017/01/03 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
不懂JavaScript应该怎样学
2008/04/16 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
javascript的内存管理详解
2013/08/07 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
javacript使用break内层跳出外层循环分析
2015/01/12 Javascript
AngularJS基础 ng-repeat 指令简单示例
2016/08/03 Javascript
AngularJS 实现弹性盒子布局的方法
2016/08/30 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
原生js实现可拖拽效果
2017/02/28 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
js实现一个简易计算器
2020/03/30 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
Python 从相对路径下import的方法
2018/12/04 Python
总结python中pass的作用
2019/02/27 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
python远程邮件控制电脑升级版
2019/05/23 Python
python 公共方法汇总解析
2019/09/16 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
教师反腐倡廉演讲稿
2014/09/03 职场文书
迎新生欢迎词
2015/01/23 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL