使用ApiGen自动生成php文档

ApiGen 是一个自动生成html文档的一个工具,使用php语言编写
详细信息请访问:在GitHub上的ApiGen
这里介绍如何安装和使用这个工具

1. 安装

运行环境

  • PHP5.5

windows系统建议将php目录加入path变量
Linux系统的安装方法
[codesyntax lang=”bash” lines=”no” blockstate=”expanded”]

wget http://apigen.org/apigen.phar
chmod +x apigen.phar
mv apigen.phar /usr/local/bin/apigen

[/codesyntax]
Windows系统安装方法

  1. 下载ApiGenhttp://apigen.org/apigen.phar
  2. 打开cmd.exe并运行以下指令[codesyntax lang=”dos” lines=”no” blockstate=”expanded”]
    echo @php "%~dp0apigen.phar" %*>apigen.bat

    [/codesyntax]

  3. 将两个文件放在同一个目录下

2. 使用方法

命令模式

apigen generate -s <源目录> -d <目标目录>

可以使用 apigen generate –help查看帮助
使用NetBeans

在以下位置填写ApiGen的位置
NetBeans》工具》选项》PHP》框架和工具》ApiGen
在以下位置配置ApiGen
项目(右键)》属性》文档
文档提供器:ApiGen
填写输出目录和标题即可

3. 在注释中添加文档

需要生成文档必须在源代码中加入相关信息
注释需要以注释块输入[codesyntax lang=”php”]

<?php
/**
* 这是一个文档级别注释
*/
/**
* 这是一个函数的注释
* @param string $param 函数参数的说明
* @return string 函数返回的说明
*/
function foo($param){
return $param;
}

[/codesyntax]
注释必须以/**开始,每行开始一个星号,放在函数、变量、类之前,说明文档中允许使用部分HTML标签。
支持的’@’开始的注释

  • @abstract :描述一个抽象的类,已过时abstract在php中为关键字
  • @access private|protected|public :标记访问类型,标记为private将不生成文档,除非指定
  • @author Author Name :标记作者的信息
  • @category categoryname :标记分类,在包的下一级
  • @copyright copyright information 标记版权信息
  • @deprecated :标注方法已过时,将被移除
  • @example path/to/example.php :标记一个例子并加上例子的路径
  • @filesource :创建一个交叉引用,该标签仅能放在页面注释上
  • @final :标记方法为final,已过时php5中final为关键字
  • @global type $var : 标记一个全局变量
  • @ignore :使ApiGen忽略这个元素
  • @internal :项目内部元素,在公共文档中不会显示
  • @license url of license :定义源码的许可证,填写一个URL地址
  • @link URL link text 创建一个连接
  • @method returntype description :php魔术方法
  • @name $globalvarname 标记全局变量名
  • @package packagename 标记包名
  • @param type1|type2… $paramname 标记函数参数名称和类型
  • @property type $name 标记类魔术属性
  • @return type1|type2… description 标记返回值的类型和描述
  • @see 连接到另个文档或类、函数
  • @since version 描述一个函数何时加入的
  • @static 标记一个静态的方法
  • @staticvar type description标记一个静态的变量
  • @subpackage subpackagename 子包名称,用于组织文档
  • @throws Exception 在函数、方法中抛出的异常
  • @todo .. 需要改进的地方
  • @tutorial 显示一个教程的连接
  • @uses 标记在函数、方法中使用的函数或方法,并创建连接
  • @var 标记类中的一个var 变量
  • @version 标记版本信息