PHPDoc/PHPDocumentor生成API文档
PHPDocumentor是一个用PHP写的强大的文档自动生成工具,对于有规范注释的php程序,能够快速生成具有结构清晰、相互参照、索引等功能的API文档。旧版本是PHPDoc,PHPDoc是PEAR下面的一个非常优秀的模块,类似于Javadoc。从1.3.0开始,更名为phpDocumentor,新版本新加了对php5语法的支持,同时,可以通过在客户端浏览器上操作生成文档,文档可以转换为PDF、HTML、CHM等格式的文档,这样非常有利于代码的升级、维护、移交等。
前提:安装的前提是已经安装了php环境,我安装的是xampp集成开发环境。
1.PHPDoc的结构及功能
PHPDoc是全部采用OOP的思想来编写的,这也是PEAR所推荐的方式,PHPDoc的工作原理:PHPDoc扫描指定目录下面的php源代码,扫描其中的关键字,截取需要分析的注释,然后分析注释中的专用的tag,生成xml文件,接着根据已经分析完的类和模块的信息,建立相应的索引,生成xml文件对于生成的xml文件,使用定制的模板输出为html文件。从设计上来说,PHPDoc使用了2个超类:PhpdocObject和PhpdocError。这是整个PHPDoc的基本类,这种方式也是PEAR所推荐的。当你编写应用框架时,最好能够有一个基本的超类,而其他的子类或者是功能类都有一个共同的祖先。在扫描源代码过程中,PHPDoc使用的是类似GREP的形式。PHPDoc令人满意的另一方面是其分析结果是以XML形式保存的,这就意味着其他应用程序可以共享这个数据,同时PHPDoc也提供了相应的接口,你可以实现这个接口,把API文档生成其他的形式,比如PDF,LATEX,WORD等。目前,PHPDoc的分析结果可以以HTML形式表现,由于使用了模板机制,可以很方便地定制风格。
2.安装PHPDoc
安装方式有两种,一是下载源码安装,另一种是通过pear安装。
第一种方法:
第一步:安装pear
使用dos窗口进入php安装目录,有个文件叫go-pear.bat,如果没有,建议到网上下载go-pear.phar,然后在dos窗口下运行 go-pear.phar, 从而安装pear。
php go-pear.phar
第二步:安装phpdoc
Pear install phpDocumentor
在phpDocumentor成功安装后,php安装目录下会多出来一个phpdoc.bat。这个文件就是我们用来生成文档的批处理文件。
在phpdoc.bat所在目录下,输入
Phpdoc –h
会得到一个phpDocumentor的详细参数列表。先看看最重要的几个吧。
-d
这个目录代表着需要生成文档的原始php文件目录(注意是目录)
-t
这个目录代表着生成的文档存放目录
-o
这个参数代表着生成的文档格式,例如html格式,参数就是
HTML:frames:phpedit
第三步:生成文档
生成文档的命令就是:
phpdoc -d "D:\phpdoc\1" -t "D:\phpdoc\1" -o "HTML:frames:phpedit"

可以看到,解析完成后,在目标目录下生成很多html文件,打开index.html文件,就是我们需要的文档,如下图所示。

第二种方法:
第一步:下载PHPDoc压缩文件(phpdoc.zip),地址如下:
http://star7th-wordpress.stor.sinaapp.com/uploads/2013/04/phpdoc.zip
第二步:解压到某一个目录
打开phpdoc.bat,编辑第16行:
SET phpCli=D:\xampp\php\php.exe
配置phpCli 为自己php.exe文件的路径即可。
第二步:dos窗口,进入文件的解压目录,然后执行解析文档命令即可。
phpdoc -d "D:\phpdoc\1" -t "D:\phpdoc\1" -o "HTML:frames:phpedit"
以上是安装phpDocumentor1版本,目前已经更新到phpDocumentor2版本了,version2的安装也很简单。
第一步:安装pear(同上)
此处给出下载地址:http://pear.php.net/go-pear.phar
将 go-pear.phar 放到 PHP 目录下执行安装命令:
php go-pear.phar
下面会执行输入 system
然后一路回车安装完毕。
第二步:接下来安装类关系绘图用到的工具
pear install image_graphviz
下载 http://www.graphviz.org/Download_Windows.php graphviz-2.38.msi
安装后,注意环境变量 path 添加上该 bin 的路径,重启电脑,否则无法生效
第三步:安装 phpDocumentor
pear channel-discover pear.phpdoc.org
pear install phpdoc/phpDocumentor
稍等一会,安装步骤完成!
注意:两个软件安装后的目录都在PHP 下的 pear 下面:
php/pear/PhpDocumentor
php/pear/Image
显然:version2 比version1速度快了很多。
PHPDoc/PHPDocumentor生成API文档的更多相关文章
- Codeigniter项目使用phpDocumentor生成api文档
前言 运行环境: vagrant 2.2.4 virtualbox 6.0 box bento/ubuntu-16.04 (Apache 2.4.18 + Mysql 5.7.26 + PHP 5.6 ...
- 利用sphinx为python项目生成API文档
sphinx可以根据python的注释生成可以查找的api文档,简单记录了下步骤 1:安装 pip install -U Sphinx 2:在需要生成文档的.py文件目录下执行sphinx-apido ...
- .Net魔法堂:提取注释生成API文档
一.前言 在多人协作的项目中,除了良好的代码规范外,完整的API文档也相当重要.通过文档我们快速了解系统各模块的实际接口,及其使用场景.使用示例,一定程度上降低沟通成本,和减少后期维护中知识遗失等风险 ...
- 使用bee自动生成api文档
beego中的bee工具可以方便的自动生成api文档,基于数据库字段,自动生成golang版基于beego的crud代码,方法如下: 1.进入到gopath目录的src下执行命令: bee api a ...
- 自动生成api文档
vs2010代码注释自动生成api文档 最近做了一些接口,提供其他人调用,要写个api文档,可是我想代码注释已经写了说明,能不能直接把代码注释生成api?于是找到以下方法 环境:vs2010 先下载安 ...
- 浅析如何在Nancy中生成API文档
前言 前后端分离,或许是现如今最为流行开发方式,包括UWP.Android和IOS这样的手机客户端都是需要调用后台的API来进行数据的交互. 但是这样对前端开发和APP开发就会面临这样一个问题:如何知 ...
- eclipse中javadoc给项目生成api文档
步骤 1.打开java代码,编写JavaDoc 注释,只有按照java的规范编写注释,才能很好的生成API文档,javadoc注释与普通注释的区别为多一个*(星号).普通代码注释为/*XXX*/,而j ...
- 试试使用 eolinker 扫描 GitLab 代码注释自动生成 API 文档?
前言: 一般写完代码之后,还要将各类参数注解写入API文档,方便后续进行对接和测试,这个过程通常都很麻烦,如果有工具可以读取代码注释直接生成API文档的话,那会十分方便. 此前一直都是在使用eolin ...
- 12 Django Rest Swagger生成api文档
01-简介 Swagger:是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.总体目标是使客户端和文件系统源代码作为服务器以同样的速度来更新.当接口有变动时,对应的接 ...
随机推荐
- js_sl 无缝切换
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- HDU 4870Rating(推公式)
有关这个题的高斯消元的方法已经在我的另一篇博客中给出http://www.cnblogs.com/gj-Acit/p/3888382.html 这里介绍一个很吊的解法,复杂度降到了O(n),以下转自h ...
- springMVC+JAP整合彻底摆脱persistence.xml配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- CentOS常用查看系统命令
系统 uname -a 查看内核/操作系统/CPU信息head -n 1 /etc/issue 查看操作系统版本cat /proc/cpuinfo 查看C ...
- MES总结:CBF.Common 文件Net下的有类型转换
MES总结:CBF.Common 文件Net下的有类型转换. using System.Text;using System.Data;using System.ComponentModel;using ...
- 关于以DataTable形式批量写入数据的案例
void IDataAccess.CommandDataTable(DataTable dt, string ProcedureName, System.Data.Common.DbParameter ...
- Ext.grid.Panel 数据动态改变后刷新grid
gridPanel中加载的数据分为两种:一种是本地数据加载,那另一种就是后台数据加载. 在表格中增.删.改.查 是必不可少的. 那么数据动态改变后怎样刷新表格中的数据呢. 一.后台取数据 var gr ...
- state与status的区别
status 指人时暗指相对的地位,指物时相当于 situation.situation 较狭义地指由环境综合决定的特定时间上的状态或情形. state 人或物存在或所处的状态,和 condition ...
- WPF RichTextBox 控件常用方法和属性
以下内容转自 http://blog.csdn.net/yulongguiziyao/article/details/25330551. 1. 取得已被选中的内容: (1)使用 RichTextBox ...
- \r,\n,\t
\r:回车符,返回到这一行的开头,return的意思. \n:换行符,到下一行的同一位置,纵坐标相同,new line的意思. \t:制表符,为了在不使用表格的情况下,上下对齐,table的意思. E ...