为CI量身定做的通过注释自动生成文档插件
本帖最后由 ★わ浪漫少帅 于 2014-5-9 15:52 编辑现阶段本人已将该项目开源.
项目地址:https://github.com/ym1623/codeigniter_apidoc/
文档:http://ym1623.github.io/codeigniter_apidoc/
平时我们都需要为一些技术文档,接口文档而烦扰,该插件意在解决这些头疼的问题,支持ci所有版本,php版本>=5.0
现在暂时提供web版本的,以后会提供命令行版本的供大家使用。
使用:
/**
* @author ym
* @group(name="docgroup", description="文档模块")
*/
class Doc extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->library('phpdoc/apidoc');
}
/**
* @ApiDescription(section="User", method="get", description="Get information about user")
* @ApiNotice(description="登录后,客户端要保存服务器种下的cookie来维护session")
* @ApiSuccess(value="{'firstname' : 'ym', 'lastname': '1623', 'lastLogin' : '2014-04-21'}")
* @ApiExample(value="{'username' : 'ym', 'password': '123456'}")
* @ApiAccess(login="true")
* @ApiParams(name="id", type="integer", is_selected=true, description="User id")
* @ApiParams(name="sort", type="enum", description="User data")
* @ApiReturn(name="id", type="integer", description="User id")
* @ApiReturn(name="sort", type="enum", description="sort data")
* @ApiReturn(name="page", type="integer", description="data of page")
* @ApiReturn(name="count", type="integer", description="data of page")
*/
function build(){
$this->apidoc->build_doc();
}
}
如上面的代码所示:class注释规则:
[*]在class上方必须注释group, 代表该文件所属群组
方法注释规则:
[*]ApiDescription(必填)
[*]section(生成该方法的文档标题)
[*]method(方法的请求类型如:get/post)
[*]description (文档首页中群组下的方法描述)
[*]ApiNotice(可选 [注意事项])
[*]description(string)
[*]ApiSuccess(可选 [返回结果])
[*]value(object)
[*]ApiExample(可选 [请求示例])
[*]value(object)
[*]ApiAccess (可选 [是否需要登录,默认false])
[*]login(bool)
[*]ApiParams(可选 [请求参数])
[*]name(参数名称)
[*]type(参数类型)
[*]is_selected(是否必填)
[*]description(参数描述)
[*]ApiReturn(可选 [返回字段说明])
[*]name(参数名称)
[*]type(参数类型)
[*]description(参数描述)
模板完全可以自己定义,输出类型html和markdown是默认的两个模板,可以根据自己的需要定义模板
生成后的预览:
markdown
首页预览:
详情页预览:
HTML
首页预览:
详情页预览:
html格式的完全是自适应屏幕的,可以直接用手机查看
具体使用方法及说明请查看文档:http://ym1623.github.io/codeigniter_apidoc/
本帖最后由 Houis 于 2018-4-23 15:45 编辑
CI3版本,报错如下:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: content
Filename: phpdoc/Apidoc.php
Line Number: 50
应该是没有做function generateTemplate里面的循环,该如何解决?
kuhool 发表于 2014-9-16 15:49
apidoc.exe 是干嘛的
这个是用来运行命令进行编译用的,运行run.bat可以运行
kuhool 发表于 2014-9-16 15:49
apidoc.exe 是干嘛的
你可以看我这个版块的下一篇文章就是介绍这个的
很好很強大....
標記一下方便下次用 不错,顶一个 很好,支持下,谢谢开源 doax1220 发表于 2014-5-13 09:48
很好,支持下,谢谢开源
谢谢支持!
这个真心不错。 真的用心了 微聚科技 发表于 2014-5-14 00:20
这个真心不错。
谢谢支持
baixiaoshi 发表于 2014-5-15 10:27
真的用心了
嗯,谢谢支持!如果自己能写了模板的话可以分享出来! 厉害