PhpDocumentor 2安装以及生成API文档的方法


Posted in PHP onMay 21, 2014

官网地址:http://www.phpdoc.org/
项目地址:https://github.com/phpDocumentor/phpDocumentor2

phpDocumentor 2是一个可以 分析php源代码和注释块并生成文档的程序。

基于phpdocumentor 1和javadoc启发而来,它持续创新的使用了一些新技术和支持php的新特性。

phpDocumentor 2的特点:

    兼容php5.3,全面支持命名空间和闭包等。
    识别支持任何tag,以及一些追加的 (比如 @link).
    更快的处理速度。 较  phpDocumentor 1在Zend Framework 下的处理耗时有了明显的减少。
    低内存消耗,小中大型工程的内存消耗分别低于20MB,40MB和100MB。
    增量解析。如果你有之前运行phpdoc获得的structure.xml文件,那么小修改后重新生成文档的速度将提升80%。
    简单就能创建模板,只需1小步和编辑3个文件。
    兼容1代的命令行。例如 --directory, --file and --target
    两步式处理。首先生成structure文件,你可以根据这个文件来格式化相关信息,用自己的工具来展现信息!

安装需求:

    PHP 5.3.3 or higher
    ext/iconv, http://php.net/manual/en/book.iconv.php (从PHP 5.0.0版本起,默认开启)
    ext/intl, http://php.net/manual/en/book.intl.php
    The XSL extension, http://www.php.net/manual/en/book.xsl.php (可选,只在使用xsl的模板时使用)
    Graphviz (可选,用来生成类图)

安装phpDocumentor 2

1.依赖于 pear 进行安装:

下载 pear  http://pear.php.net/go-pear.phar

将 go-pear.phar 放到 PHP 目录下

执行安装命令:

php go-pear.phar

下面会执行输入 system

然后一路回车安装完毕

2.接下来安装类关系绘图用到的工具:

pear install image_graphviz

下载  http://www.graphviz.org/Download_windows.php   graphviz-2.38.msi

安装后,注意查看环境变量 path 中是否已添加上该 bin 的路径,

下面很重要的一步:重启电脑,否则无法生效

3.安装 phpDocumentor

pear channel-discover pear.phpdoc.org //注册channel
pear remote-list -c phpdoc //列出可以获得的版本
pear install phpdoc/phpDocumentor //安装phpDocumentor

详情参考:http://pear.phpdoc.org/

安装步骤完成!

提示下:

两个软件安装后的目录都在PHP 下的 pear 下面:

    php/pear/PhpDocumentor
    php/pear/Image

使用PhpDocumentor 2

下面开始生成项目文档:

在PHP根目录下:

phpdoc -d 项目绝对路径 -t 生成的文档存放的路径

d代表路径directory,t代表target。或者可以选择-f来指定单个文件。制定好路径稍等片刻执行完毕就可以在target文件夹里看到说明文档了。

例子:

phpdoc -d E:\bak\video\code -t E:\bak\video\code\doc

E:\bak\video\code  为php代码的文件夹

E:\bak\video\code\doc 为生成文档的文件夹

具体的参数如下:

project:run [-t|--target[="..."]] [-f|--filename[="..."]] [-d|--directory[="..."]] [-e|--extensions[="..."]] [-i|--ignore[="..."]] [--ignore-tags[="..."]] [--hidden] [--ignore-symlinks] [-m|--markers[="..."]] [--title[="..."]] [--force] [--validate] [--visibility[="..."]] [--defaultpackagename[="..."]] [--sourcecode] [-p|--progressbar] [--template[="..."]] [--parseprivate] [-c|--config[="..."]]
PHP 相关文章推荐
BBS(php & mysql)完整版(一)
Oct 09 PHP
PHP面向对象分析设计的经验原则
Sep 20 PHP
php 中文和编码判断代码
May 16 PHP
paypal即时到账php实现代码
Nov 28 PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
Dec 29 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
php中eval函数的危害与正确禁用方法
Jun 30 PHP
PHP中使用break跳出多重循环代码实例
Jan 21 PHP
php实现检查文章是否被百度收录
Jan 27 PHP
PHP开发Apache服务器配置
Jul 15 PHP
PHP获取客户端及服务器端IP的封装类
Jul 21 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 PHP
Smarty模板学习笔记之Smarty简介
May 20 #PHP
php实例分享之mysql数据备份
May 19 #PHP
dedecms函数分享之获取某一栏目所有子栏目
May 19 #PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 #PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 #PHP
php开启openssl的方法
May 15 #PHP
PHP整数取余返回负数的相关解决方法
May 15 #PHP
You might like
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
php session_decode函数用法讲解
2019/05/26 PHP
JS 的应用开发初探(mootools)
2009/12/19 Javascript
Javascript学习笔记1 数据类型
2010/01/11 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
python下载微信公众号相关文章
2019/02/26 Python
django admin组件使用方法详解
2019/07/19 Python
numpy:np.newaxis 实现将行向量转换成列向量
2019/11/30 Python
如何解决python多种版本冲突问题
2020/10/13 Python
jupyter 添加不同内核的操作
2021/02/06 Python
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
病媒生物防治方案
2014/05/13 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
python urllib库的使用详解
2021/04/13 Python
python数字转对应中文的方法总结
2021/08/02 Python