生成PHP aip (原创)

来源:互联网 发布:three.js 实现宇宙 编辑:程序博客网 时间:2024/06/06 10:02

采用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/

安装参考: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.csdn.net/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>

        <templatename="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>