关于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 相关文章推荐
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
php array的学习笔记
May 10 PHP
ajax返回值中有回车换行、空格的解决方法分享
Oct 24 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
Jan 07 PHP
php求两个目录的相对路径示例(php获取相对路径)
Mar 27 PHP
分享十款最出色的PHP安全开发库中文详细介绍
Mar 22 PHP
微信公众平台实现获取用户OpenID的方法
Apr 15 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
PHP编程基本语法快速入门手册
Jan 07 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
Feb 16 PHP
PHP连接MySQL进行增、删、改、查操作
Feb 19 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 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 echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
基于vue.js组件实现分页效果
2018/12/29 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
2019/12/06 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
Python时间戳与时间字符串互相转换实例代码
2013/11/28 Python
python写入xml文件的方法
2015/05/08 Python
Python实现修改文件内容的方法分析
2018/03/25 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
Python: glob匹配文件的操作
2020/12/11 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
C语言编程题
2015/03/09 面试题
超市活动计划书
2014/04/24 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
赞助商致辞
2015/07/30 职场文书
mysql配置SSL证书登录的实现
2021/09/04 MySQL
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技