关于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 单引号与双引号的区别
Nov 24 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 PHP
PHP对象递归引用造成内存泄漏分析
Aug 28 PHP
PHP中strtr字符串替换用法详解
Nov 26 PHP
php中fgetcsv()函数用法实例
Nov 28 PHP
php使用memcoder将视频转成mp4格式的方法
Mar 12 PHP
php读取csc文件并输出
May 21 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
php监测数据是否成功插入到Mysql数据库的方法
Nov 25 PHP
Yii2语言国际化自动配置详解
Aug 22 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
Dec 21 PHP
php intval函数用法总结
Apr 14 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设计聊天室步步通
2006/10/09 PHP
PHP安装攻略:常见问题解答(一)
2006/10/09 PHP
php &amp;&amp; 逻辑与运算符使用说明
2010/03/04 PHP
超小PHP小马小结(方便查找后门的朋友)
2012/05/05 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
js+css在交互上的应用
2010/07/18 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
node.js使用nodemailer发送邮件实例
2014/03/10 Javascript
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
2020/12/24 Javascript
浅析AngularJs HTTP响应拦截器
2015/12/28 Javascript
javascript中错误使用var造成undefined
2016/03/31 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
jQuery实现动态添加和删除input框实例代码
2019/03/26 jQuery
python读写ini文件示例(python读写文件)
2014/03/25 Python
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
python生成n个元素的全组合方法
2018/11/13 Python
详解python:time模块用法
2019/03/25 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
党校自我鉴定范文
2013/10/02 职场文书
初一生物教学反思
2014/01/18 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
个人简历自荐信
2014/06/26 职场文书
交通安全温馨提示语
2015/07/14 职场文书
生日祝酒词大全
2015/08/10 职场文书
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB
Python 视频画质增强
2022/04/28 Python