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 相关文章推荐
php下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
探讨PHP使用eAccelerator的API开发详解
Jun 09 PHP
怎么在Windows系统中搭建php环境
Aug 31 PHP
php $_SERVER windows系统与linux系统下的区别说明
Feb 14 PHP
php简单防盗链实现方法
Jul 29 PHP
PHP按指定键值对二维数组进行排序的方法
Dec 22 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
Mar 31 PHP
详解php语言最牛掰的Laravel框架
Nov 20 PHP
PHP fprintf()函数用法讲解
Feb 16 PHP
PHP+Redis开发的书签案例实战详解
Jul 09 PHP
关于laravel 子查询 & join的使用
Oct 16 PHP
Laravel 6.2 中添加了可调用容器对象的方法
Oct 22 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
40个迹象表明你还是PHP菜鸟
2008/09/29 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
jquery的attr方法禁用表单元素禁用输入内容
2014/06/23 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
jquery简单实现幻灯片的方法
2015/08/03 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
微信小程序 参数传递实例代码
2017/03/20 Javascript
利用Vue v-model实现一个自定义的表单组件
2017/04/27 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
微信小程序swiper实现文字纵向轮播提示效果
2020/01/21 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
JavaScript实现移动端拖动元素
2020/11/24 Javascript
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
GC是什么?为什么要有GC?
2013/12/08 面试题
快餐店的创业计划书范文
2014/01/29 职场文书
简历自我评价模版
2014/01/31 职场文书
个人公开承诺书
2014/03/28 职场文书
运动会宣传稿100字
2015/07/23 职场文书
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL
mysql如何能有效防止删库跑路
2021/10/05 MySQL
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL