关于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学习笔记之数组篇
Jun 28 PHP
PHP操作数组的一些函数整理介绍
Jul 17 PHP
smarty巧妙处理iframe中内容页的代码
Mar 07 PHP
php 解决旧系统 查出所有数据分页的类
Aug 27 PHP
深入PHP运行环境配置的详解
Jun 04 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
Apr 08 PHP
浅析PHP微信支付通知的处理方式
May 25 PHP
php中adodbzip类实例
Dec 08 PHP
PHP动态柱状图实现方法
Mar 30 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
Aug 01 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP封装请求类实例分析【基于Yii框架】
Oct 17 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
phpMyAdmin 安装及问题总结
2009/05/28 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
Javascript无阻塞加载具体方式
2013/06/28 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
PHP+jquery+ajax实现分页
2016/12/09 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
详解ES6中的Map与Set集合
2019/03/22 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
python3调用R的示例代码
2018/02/23 Python
使用python爬取B站千万级数据
2018/06/08 Python
Pandas之排序函数sort_values()的实现
2019/07/09 Python
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
八年级音乐教学反思
2014/01/09 职场文书
预备党员党课思想汇报
2014/01/13 职场文书
土建施工员岗位职责
2014/07/16 职场文书
庆元旦演讲稿
2014/09/15 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
特岗教师个人总结
2015/02/10 职场文书
违纪学生保证书
2015/02/27 职场文书
PHP基本语法
2021/03/31 PHP
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript