前言

运行环境:

  1. vagrant 2.2.4

  2. virtualbox 6.0

  3. box bento/ubuntu-16.04 (Apache 2.4.18 + Mysql 5.7.26 + PHP 5.6.40)

  4. phpDocumentor

phpDocumentor 2 是一个尽可能的通过你的PHP源码来生成文档的工具。

通过 Codeigniter项目applicaiton下控制器和模型 2个文件夹的源码来生成 api文档

vagrant@vagrant:~$ phpdoc -V
phpDocumentor version v2.9.0

我是通过 phar 方式进行安装

wget https://www.phpdoc.org/phpDocumentor.phar # 下载phpDocumentor.phar文件
# php phpDocumentor.phar -V
sudo mv phpDocumentor.phar /usr/local/bin/phpdoc #将文件移入到/usr/local/bin下,并重命名为phpdoc,在所有目录下,都可以运行 phpdoc命令了,即全局命令
phpdoc -h # 输出帮助信息
phpdoc -V # 输出版本信息
phpdoc template:list # 列出使用的模板

使用

简单的使用 phpDocumentor 是使用命令行参数(-d 一个目录,-f 一个文件)来提供一个输入点和告诉它你喜欢放的文件夹(-t)来输出你的文档。

例如:

$ phpdoc -d ./src -t ./docs/api

上面的案列会扫描 在src 和它子文件夹下的所有文件,执行分析和生成一个包含文档的网站在docs/api下。如果你没有指定-t选项,文档的输出将会写入到一个子文件夹为output文件夹中。

命令:

codeignniter$: phpdoc -d "application/controllers,application/models" -t ./docs/api

docs/api可以看到生成的文档

通过配置文件进行配置

phpdoc.dist.xml 配置文件内容

<?xml version="1.0" encoding="UTF-8" ?>
<phpdoc>
<title>Codeigniter</title>
<parser>
<target>docs/api</target>
</parser>
<files>
<directory>application/controllers</directory>
<directory>application/models</directory>
</files>
<transformations>
<template name="responsive-twig" />
<target>docs/api</target>
</transformations>
</phpdoc>

命令:

codeigniter$: phpdoc -c phpdoc.dist.xml

apigen

我安裝apigen網站的教程,通過 composer的方式安裝 apigen 庫,然後生成基於Codeigniter 3.1.10項目的Api 文檔

composer require apigen/apigen --dev

composer.json 中require-dev顯示的 "apigen/apigen": "^4.1"

單個源文件夾src,輸出目錄docs

vendor/bin/apigen generate -s application/controllers --destination docs2

將應用的

vendor/bin/apigen generate -s application/controllers,application/models,application/core,application/helpers --destination apigendoc

apigen generate help

vagrant@vagrant:/var/www/html/codeigniter310$ vendor/bin/apigen generate --help
Usage:
generate [options] Options:
-s, --source=SOURCE Dirs or files documentation is generated for. (multiple values allowed)
-d, --destination=DESTINATION Target dir for documentation.
--access-levels=ACCESS-LEVELS Access levels of included method and properties. [default: ["public","protected"]] (multiple values allowed)
--annotation-groups=ANNOTATION-GROUPS Generate page with elements with specific annotation.
--base-url=BASE-URL Base url used for sitemap (useful for public doc).
--config=CONFIG Custom path to apigen.neon config file. [default: "/var/www/html/mainpowers3/apigen.neon"]
--google-cse-id=GOOGLE-CSE-ID Custom google search engine id (for search box).
--google-analytics=GOOGLE-ANALYTICS Google Analytics tracking code.
--debug Turn on debug mode.
--deprecated Generate documentation for elements marked as @deprecated
--download Add link to ZIP archive of documentation.
--extensions=EXTENSIONS Scanned file extensions. [default: ["php"]] (multiple values allowed)
--exclude=EXCLUDE Directories and files matching this mask will not be parsed (e.g. */tests/*). (multiple values allowed)
--groups=GROUPS The way elements are grouped in menu. [default: "auto"]
--charset=CHARSET Charset of scanned files. (multiple values allowed)
--main=MAIN Elements with this name prefix will be first in tree.
--internal Include elements marked as @internal.
--php Generate documentation for PHP internal classes.
--skip-doc-path=SKIP-DOC-PATH Files matching this mask will be included in class tree, but will not create a link to their documentation. (multiple values allowed)
--no-source-code Do not generate highlighted source code for elements.
--template-theme=TEMPLATE-THEME ApiGen template theme name. [default: "default"]
--template-config=TEMPLATE-CONFIG Your own template config, has higher priority templateTheme.
--title=TITLE Title of generated documentation.
--todo Generate documentation for elements marked as @todo.
--tree Generate tree view of classes, interfaces, traits and exceptions.
-h, --help Display this help message.
-q, --quiet Do not output any message.
-V, --version Display this application version. Help:
Generate API documentation

References

Codeigniter项目使用phpDocumentor生成api文档的更多相关文章

  1. PHPDoc/PHPDocumentor生成API文档

    PHPDocumentor是一个用PHP写的强大的文档自动生成工具,对于有规范注释的php程序,能够快速生成具有结构清晰.相互参照.索引等功能的API文档.旧版本是PHPDoc,PHPDoc是PEAR ...

  2. eclipse中javadoc给项目生成api文档

    步骤 1.打开java代码,编写JavaDoc 注释,只有按照java的规范编写注释,才能很好的生成API文档,javadoc注释与普通注释的区别为多一个*(星号).普通代码注释为/*XXX*/,而j ...

  3. eclipse如何为java项目生成API文档、JavaDoc

    当我们的项目很大,编写了很多代码的时候,就需要生成一个标准的API文档,让后续的开发人员,或者合作者可以清晰的了解您方法的使用,那么如何将自己的项目生成API文档呢? 1.点击eclipse的[Pro ...

  4. Spring Boot 项目学习 (四) Spring Boot整合Swagger2自动生成API文档

    0 引言 在做服务端开发的时候,难免会涉及到API 接口文档的编写,可以经历过手写API 文档的过程,就会发现,一个自动生成API文档可以提高多少的效率. 以下列举几个手写API 文档的痛点: 文档需 ...

  5. eclipse如何为java项目生成API文档

    文章转载自: https://www.cnblogs.com/wdh1995/p/7705494.html 当我们的项目很大,编写了很多代码的时候,就需要生成一个标准的API文档,让后续的开发人员,或 ...

  6. 如何在idea中将项目生成API文档(超详细)(Day_32)

    1.打开要生成API文档的项目,点击菜单栏中的Tools工具,选择Generate JavaDoc 2.打开如下所示的Specify Generate JavaDoc Scope 界面 3.解释下Ot ...

  7. 利用sphinx为python项目生成API文档

    sphinx可以根据python的注释生成可以查找的api文档,简单记录了下步骤 1:安装 pip install -U Sphinx 2:在需要生成文档的.py文件目录下执行sphinx-apido ...

  8. .Net魔法堂:提取注释生成API文档

    一.前言 在多人协作的项目中,除了良好的代码规范外,完整的API文档也相当重要.通过文档我们快速了解系统各模块的实际接口,及其使用场景.使用示例,一定程度上降低沟通成本,和减少后期维护中知识遗失等风险 ...

  9. 使用bee自动生成api文档

    beego中的bee工具可以方便的自动生成api文档,基于数据库字段,自动生成golang版基于beego的crud代码,方法如下: 1.进入到gopath目录的src下执行命令: bee api a ...

随机推荐

  1. PhpStorm中如何使用database工具

    环境:ubuntu18.4 mysql5.7 一. 打开database 1.选择View—>Tool Windows—>Database单击打开. 2.新增数据连接 选择 “+”—> ...

  2. 前端每日实战:66# 视频演示如何用纯 CSS 创作一台咖啡机

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/rKPLMW 可交互视频 此视频是可 ...

  3. Linux自用指令——2019年10月23日

    1.ls ls命令是列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹. ls -a 列出目录所有文件,包含以.开始的隐藏文件 ...

  4. poj 2104: K-th Number 【主席树】

    题目链接 学习了一下主席树,感觉具体算法思路不大好讲.. 大概是先建个空线段树,然后类似于递推,每一个都在前一个“历史版本”的基础上建立一个新的“历史版本”,每个历史版本只需占用树高个空间(好神奇!) ...

  5. LeetCode算法题

    1.给两个整数数组 A 和 B ,返回两个数组中公共的.长度最长的子数组的长度. 时间复杂度待优化 class Solution { public int findLength(int[] A, in ...

  6. pyCharm和解释器下载安装

    参考:(mac) 安装流程和注意: http://blog.csdn.net/limin2928/article/details/69267184 解释器下载地址: https://www.pytho ...

  7. XSS漏洞基础

    什么是XSS? XSS全程Cross-site scripting,跨站脚本攻击.恶意攻击者往Web页面里插入html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用 ...

  8. php htmlentities()函数 语法

    php htmlentities()函数 语法 作用:把字符转换为 HTML 实体 语法:htmlentities(string,flags,character-set,double_encode) ...

  9. JS中数据结构之字典

    字典是一种以键 - 值对形式存储数据的数据结构 通过数组实现字典 function Dictionary() { this.add = add; this.datastore = new Array( ...

  10. linux内核源码——内存管理:段页式内存及swap

    os的内存管理大概可以分成两块:1.段页式管理(虚存)2.swap in 和 swap out 段页式管理 段式管理的图像:运行时重定位 多级页表的管理图像  块表加速 用户(程序员)希望用段,物理内 ...