采用Phpdocumentor2 生成api ,Phpdocumentor2与Phpdocumentor1有大的不同,包括执行的命令,aip模板,但注释规则大致相同。
安装前准备
phpdoc依赖以下,安装之前确保下面已经存在
xsl extension:xsl 扩展用于生成api html,如果是wamp 直接在php.ini 文件中开启extension=php_xsl.dll
Graphviz:画图表工具,下载地址
http://www.graphviz.org/Download_windows.php
安装命令:
pear install Image_GraphViz
安装命令
#清除缓存
pearclear-cache
#(更新pear)
pearupgrade-all
# 安装Phpdocumentor
pearchannel-discover pear.phpdoc.org
pearinstall phpdoc/phpDocumentor-beta
参考文档:
安装参考:http://www.phpdoc.org/docs/latest/for-users/installation/using-pear.html#instructions
执行命令
介绍一下Phpdocumentor2 命令使用:
phpdoc
phpdoc --encoding="utf-8"
phpdoc -d E:\bak\video\code -tE:\bak\video\code\doc
参考文档:
命令介绍与使用:
http://www.phpdoc.org/docs/latest/for-users/basic-usage.html
http://blog.youkuaiyun.com/chinabluexfw/article/details/9789531
自动化
要让自动化构建工具不断,重复的执行的api 生成,就一定是一个重复使用的过程,这个过程一般以.xml 文件体现,Phpdocumentor2默认.xml 的文件名为:phpdoc.xml
下面通过.xml 文件来介绍一下phpdoc.xml标签的用法与含义
<?xml version="1.0" encoding="UTF-8"?>
<!-- 自动化api 支持phpdoc2版本-->
<phpdoc>
<title>WMS仓库管理系统</title>
<parser>
<!-- phpdoc 缓存目录(源码缓存) -->
<target>api/build</target>
<!--<default-package-name>默认包名</default-package-name>-->
</parser>
<transformer>
<!-- Api文档存放目录-->
<target>api/html</target>
</transformer>
<!-- 模板,phpdocment 提供了多套模板,名称为:abstract,checkstyle,new-black,old-ocean,responsive,zend-->
<transformations>
<template name="new-black" />
</transformations>
<!-- 日志配置,注释错误或其他错误信息会记录到下面的文件 -->
<logging>
<level>warn</level>
<paths>
<default>{APP_ROOT}/api/log/{DATE}.log</default>
<errors>{APP_ROOT}/api/log/{DATE}.errors.log</errors>
</paths>
</logging>
<!--注释文件,phpdoc 默认会读取php 后缀的文件,
directory 的正确写法src/Service 错误写法src/Service/
-->
<files>
<!--<file>test.php</file>-->
<!--<file>bin/*</file>-->
<directory>src/Service</directory>
<directory>src/Cli</directory>
<directory>src/Web/Lib/Action</directory>
<directory>src/Web/Lib/Activity</directory>
<directory>src/Web/Lib/Class</directory>
<directory>src/Web/Lib/Interceptor</directory>
<directory>src/Web/Lib/Util</directory>
<!-- -->
<!--忽略目录-->
<ignore>src/Web/Conf/*</ignore>
<ignore>src/Web/Lang/*</ignore>
<ignore>src/Web/Lib/Fields/*</ignore>
<ignore>src/ThinkCommon/*</ignore>
<ignore>src/ThinkPHP/*</ignore>
<ignore>src/Upload/*</ignore>
<ignore>src/Runtime/*</ignore>
<ignore>src/Scripts/*</ignore>
<ignore>src/Vendor/*</ignore>
</files>
</phpdoc>