关于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 数组基础知识小结
Aug 20 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
Oct 30 PHP
php json与xml序列化/反序列化
Oct 28 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 PHP
在Windows系统下使用PHP生成Word文档的教程
Jul 03 PHP
php设计模式之委托模式
Feb 13 PHP
php正则判断是否为合法身份证号的方法
Mar 16 PHP
PHP实现的简单异常处理类示例
May 04 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
ThinkPHP中图片按比例切割的代码实例
Mar 08 PHP
PHP htmlspecialchars()函数用法与实例讲解
Mar 08 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 UTF8编码内的繁简转换类
2009/07/20 PHP
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
php获取发送给用户的header信息的方法
2015/03/16 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
Eclipse去除js(JavaScript)验证错误
2014/02/11 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
JS回调函数基本定义与用法实例分析
2017/05/24 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
vue使用websocket的方法实例分析
2019/06/22 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
Python的函数的一些高阶特性
2015/04/27 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
基于python实现删除指定文件类型
2020/07/21 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
《童年》教学反思
2014/02/18 职场文书
经销商年会策划方案
2014/05/29 职场文书
绿色小区申报材料
2014/08/22 职场文书
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
孙振耀退休感言
2015/08/01 职场文书
Mysql中有关Datetime和Timestamp的使用总结
2021/12/06 MySQL