关于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 相关文章推荐
2.PHP入门
Oct 09 PHP
获得Google PR值的PHP代码
Jan 28 PHP
php生成xml简单实例代码
Dec 16 PHP
php获取post中的json数据的实现方法
Jun 08 PHP
基于php无限分类的深入理解
Jun 02 PHP
php利用新浪接口查询ip获取地理位置示例
Jan 20 PHP
php中文繁体和简体相互转换的方法
Mar 21 PHP
腾讯CMEM的PHP扩展编译安装方法
Sep 25 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
Jan 22 PHP
PHP中调用C/C++制作的动态链接库的教程
Mar 10 PHP
PHP实现的文件上传类与用法详解
Jul 05 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 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中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
php防止sql注入代码实例
2013/12/18 PHP
PHP实现的一致性哈希算法完整实例
2015/11/14 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
PHP二维数组去重算法
2016/12/17 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
extjs render 用法介绍
2013/09/11 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
对layui中的onevent 和event的使用详解
2019/09/06 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
Python设计模式之中介模式简单示例
2018/01/09 Python
python机器人行走步数问题的解决
2018/01/29 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
python集成开发环境配置(pycharm)
2020/02/14 Python
PyQt实现计数器的方法示例
2021/01/18 Python
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
医学专业自荐信
2014/06/14 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS
Java练习之潜艇小游戏的实现
2022/03/16 Java/Android