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 相关文章推荐
做一个有下拉功能的留言版
Oct 09 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 PHP
将时间以距今多久的形式表示,PHP,js双版本
Sep 25 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
May 29 PHP
ThinkPHP中的关联模型注意点
Jun 16 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
php截取字符串函数分享
Feb 02 PHP
PHP框架Laravel的小技巧两则
Feb 10 PHP
php实现删除空目录的方法
Mar 16 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
Jun 19 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获取网卡地址的代码
2008/04/09 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
PHP中break及continue两个流程控制指令区别分析
2011/04/18 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
2020/04/06 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
jQuery事件绑定与解除绑定实现方法
2015/04/15 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
javascript中SetInterval与setTimeout的定时器用法
2015/08/24 Javascript
jQuery UI设置固定日期选择特效代码分享
2015/08/27 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
2016/08/24 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
基于vuex实现购物车功能
2021/01/10 Vue.js
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
Python如何解除一个装饰器
2020/08/07 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
清明节扫墓活动方案
2014/03/02 职场文书
重阳节活动主持词
2015/07/04 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python