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动态生成虚拟现实VRML网页
Oct 09 PHP
用PHP实现ODBC数据分页显示一例
Oct 09 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
php中利用explode函数分割字符串到数组
Feb 08 PHP
PHP使用NuSOAP调用Web服务的方法
Jul 18 PHP
如何利用http协议发布博客园博文评论
Aug 03 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 PHP
yii2使用gridView实现下拉列表筛选数据
Apr 10 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
php实例化一个类的具体方法
Sep 19 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 15 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下使用strpos需要注意 === 运算符
2010/07/17 PHP
PHP sprintf()函数用例解析
2011/05/18 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
PHP中__set()实例用法和基础讲解
2019/07/23 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
2013/12/16 Javascript
jQuery中is()方法用法实例
2015/01/06 Javascript
javascript 动态创建表格
2015/01/08 Javascript
jQuery学习笔记之2个小技巧
2015/01/19 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
一个J2EE项目团队的主要人员组成是什么
2012/06/04 面试题
大学生个人求职信范文
2013/09/21 职场文书
保安部任务及岗位职责
2014/02/25 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
投资协议书范本
2014/04/21 职场文书
2014年党委工作总结
2014/11/22 职场文书
铁人观后感
2015/06/16 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL
python中pycryto实现数据加密
2022/04/29 Python
MySQL存储过程及语法详解
2022/08/05 MySQL