转载地址:http://www.th7.cn/Program/php/201501/375666.shtml

ApiGen官网: http://www.apigen.org/

一、从 github 获取 Windows 的安装包

https://github.com/apigen/apigen/downloads

选择 Version x.x.x standalone package (zip)

二、检测、安装运行环境

1. 进入PHP安装目录,按住shift键右击鼠标,点击“在此处打开命令窗口”(或使用cmd.exe进入目录),运行如下命令:

pear config-set auto_discover 1

运行的结果:

D:/php>pear config-set auto_discover 1

config-set succeeded

如果运行结果如上,直接进入“三、安装ApiGen”,否则如下步骤安装pear

2. 安装pear

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

然后将文件拷贝到PHP的安装根目录下,按上面的方式打开命令窗口,执行命令:

php go-pear.phar

出现提示选项,则选择安装 system

<system|local> [system] : system

后面全部回车,或在提示 'all or Enter'时输入 all 回车

三、安装使用ApiGen

1. 将ApiGen解压到web目录下或其他目录,然后将 apigen.neon.example 重命名为 apigen.neon 即可,这个 apigen.neon 配置文件,似乎有些不太好使,比如更改模板 templateConfig 就没生效,自定义的模板可以改/ApiGen/Config.php 配置文件(我将 default 改成了 bootstrap):

public function __construct()

{

self::$defaultConfig['templateConfig']= $templateDir . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR .'bootstrap' . DIRECTORY_SEPARATOR . 'config.neon';

}

如果不想将整个源码也展现出来,在 /ApiGen/Config.php 中将sourceCode 设为 false 即可:

private static $defaultConfig = array(

'sourceCode'=> false,

'charset'=> array('auto'),

);

2. 在目录中 按住shift键右击鼠标,点击“在此处打开命令窗口”,运行如下命令(参数见下面):

D:/www/apigen>phpapigen.php --source "../site" --destination "./docs"--title "Api Document" --exclude "runtime/*"

若提示 php不是内部命令,则将 PHP 的安装目录路径添加到 系统 的 环境变量中,方法:

控制面板->系统->高级系统设置->环境变量->在“系统变量”的“Path”中添加,结尾加一个英文分号,然后再运行上面的命令。

若提示 memory 内存不足的错误,更改 php.ini 文件的内存设置,重启Apache 再运行。

3. 回车后开始编译,稍后就可以得到文档,打开 index.html 就可以查看了

附、命令参数

--source <path>需要编译成文档的Project 目录, --source <path> 同时可以指定多个

--destination <path>  编译后存放的目录路径

--title <Name>  文档首页的标题

--exclude <path> 排除的目录(如'views/*' 表示视图目录下的不生成文档)

参考命令

<?php

exec('php D:\xampp\htdocs\apigen\apigen.php --source "D:\xampp\htdocs\smart\src" --destination "./apidocs" --title "smartcourse"');

?>

Options:
--source (-s) 源码文件目录(可设置多个值)(必填)
--destination (-d) 文档生成目录(必填)
--access-levels 属性及方法的访问级别(默认:"public","protected")(可选)(可设置多个值)
--base-url 文档根路径
--config 自定义apigen.neon配置文件
--google-cse-id Custom google search engine id (for search box).
--google-analytics 谷歌统计代码
--debug 开启Debug模式
--deprecated 将标签(@deprecated)生成弃用信息
--download 添加一个下载链接到ZIP归档文件
--extensions 允许解析的文件扩展名列表(默认:"php")(可设置多个值)
--exclude 被匹配的目录和文件将不被解析(可设置多个值)
--groups 菜单项分组(默认:"auto")
--charset 源文件的字符集(可设置多个值)
--main 被匹配的名称前缀生成为“主要项目”
--internal 包含标签@internal
--php 生成PHP内部类文档
--skip-doc-path 被匹配的文件将会出现在类树中,但不会链接到这些文档(可设置多个值)
--no-source-code 不高亮源代码中的标签
--template-theme 模板名称(默认:"default")
--template-config 模板设置
--title 文档标题
--todo 将标签(@todo)生成任务文档
--tree 生成类、接口、特征和异常的目录树
--help (-h) 显示帮助信息
--quiet (-q) 不输出任何信息
--version (-V) 显示程序版本号

其他参数见 ApiGen官网 或https://github.com/apigen/apigen#options

使用 ApiGen 生成开发文档相关推荐

  1. .NET6使用DOCFX根据注释自动生成开发文档

    本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (gith ...

  2. SpringBoot 集成Swagger2 | 快速生成开发文档 | 敏捷开发

    使用 Swagger 开源和专业工具集简化用户.团队和企业的 API 开发. 一.Swagger是什么? 好处 实现更快.标准化的 API 设计 通过协作更智能地工作 托管的交互式 API 文档 二. ...

  3. rap技术原理_RAP如何自动在 方法上生成前端开发文档

    针对阿里妈妈前端大牛来说这个工具的诞生,为java开发人员节约了多少开发时间.非常感谢. 废话不多说直接看源码: 安装说明大家可以根据上面的文档源码来直接部署.重点来了.重要的话说三遍.idea如何完 ...

  4. DotNet 项目开发文档的自动生成和相关工具的使用

    在 VS.Net 的 IDE 中对C#提供了一些可以自动生成的 XML 注释,使用这些注释可以对代码中定义的对象进行说明.注解:通过设置项目属性,在生成项目时,可以让VS.Net自动的将这些注释信息输 ...

  5. 【IT基础】常见的开发文档

    Perface 随着技术的进步,小作坊式的软件开发年代已经过去.目前的软件开发能力在不断提升,用户对软件的功能和性能要求也越来越高,软件开发质量受到关注. 在软件开发过程中,各种数据和代码的管理需要经 ...

  6. 开源轻量级办公系统Sandbox介绍以及配套开发文档连载

    1.Sandbox介绍 Sandbox是一个基于django框架开发的轻量级办公平台,主要模块有:权限控制.资产(库存)管理.设备管理.客户信息管理和工单流程管理,其目的在于建立一套规范化.统一化和清 ...

  7. CRMEB开发文档及目录结构

    CRMEB 开发文档及目录结构 官网 CRMEB v2.6开源地址:http://link.crmeb.net/u/lingting 完整帮助文档:http://help.crmeb.net QQ群: ...

  8. liferay开发文档_Liferay –简单主题开发

    liferay开发文档 实际上,Liferay的6.1版本已经走了很长一段路,该版本完全支持JSF和IceFaces. 我一直在努力学习它的绳索,因为我希望使其成为我们团队中的标准协作工具. 好的软件 ...

  9. java 自动生成文档_[原]java开发文档的自动生成方式

    对于Java注释我们主要了解三种: // 注释一行 /* ...... */ 注释若干行 第三种,文档注释: /** ...... */ 注释若干行,并写入 javadoc 文档 通常这种注释的多行写 ...

最新文章

  1. Lombok!代码简洁神器还是代码“亚健康”元凶?
  2. ###修改图片为圆形
  3. 【数论】GCD SUM(P2398)
  4. linux read line,LINUX readline 库的使用,,
  5. vmware虚拟机上的centos安装Hadoop,以及在本地eclipse上运行mapReduce项目,并将文件输出到HDFS中...
  6. 2017 4月26日上午
  7. php openssl.so加载,LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)...
  8. queryrunner对于数据库的快速操作
  9. 正确学习PLC编程的方法
  10. excel筛选排序从小到大_EXCEL表格数据从小到大-Excel如何从小到大排列顺序
  11. c语言可编写的游戏,占卜子女兴盛大全篇
  12. 国内十大活跃报表 BI 产品深度对比及点评
  13. index ffs、index fs原理考究-1109
  14. 不要让Microsoft edge 打开IE浏览器的设置(兼容性问题)
  15. html账号输入框整体透明,HTML在透明输入框里添加图标的实现代码
  16. DataGrid 数据绑定使用小结三(数据绑定)
  17. 在word中插入pdf中的图片(矢量图)
  18. Composer入门教程 - 基本用法
  19. 最经典的运算放大器使用总结
  20. python r语言培训_R语言和Python区别有哪些?老男孩Python脱产班

热门文章

  1. python matplotlib.figure.Figure.add_subplot()方法的使用
  2. 计算机通信技术 ppt,江苏大学计算机科学与通信工程学院计算机科学系.ppt
  3. pc构件生产线及设备_PC构件成组立模生产线
  4. android studio多页面滑动,Android Studio之多个Activity的滑动切换(二)
  5. python安装不了jupyter_求救 python3.8安装jupyter报错无“winpty.h”
  6. java接监控摄像头接口_离奇!深夜隧道内,12个摄像头突然一个接一个“瞎”了,监控员吓懵了...
  7. python分配buffer_Node.js中的buffer如何和python中的buffer相对应
  8. vue怎么引入js文件_Vue核心知识:8.3 vuex在vue-cli中的应用,文件之间的导出与引入...
  9. 安徽信息技术初中会考上机考试模拟_中学信息技术上机操作考试技巧
  10. java中map怎么遍历,Java中怎么遍历Map的所有的元素