laravel-doc
是一个用来生成文档,通过markdown来撰写文档,并提供web访问文档的项目
compor require foryoufeng/laravel-doc
如果你是运行的laravel 5.5以下的版本,需要在confi整理家务g/app.php
的rvice provider中添加:
foryoufeng\doc\docrviceprovider::class
运行如下命令来发布资源文件
php artisan doc:install
发布资源之后会多出很多文件
/public/vendor/laravel-doc //样式文件 /resources/views/docs //界面文件 /resources/mds/docs //文档文件 /resources/mds/apidocs //api文件 /app/http/controllers/docs //增加了控制器文件 config/laravel_doc.php //文档配置文件 routes/web.php中增加了路由文件
/doc
,即可看到本项目的说明文档/apidoc
,即可看到本项目的接口说明文档在resources/mds/docs
中创建你的md文件,如demo.md
,加入你需要的内容,
然后到app/http/controllers/docs/laraveldoccontroller.php
的index_md
中加入数据即可访问,例如:
//默认已经加入了2个例子private function index_md() { return [ [ 'name' => config('laravel_doc.languages.install'), 'doc_link' => 'install.md', ], [ 'name' => config('laravel_doc.languages.how_u'), 'doc_link' => 'how_u.md', ], [ 'name' => 'demo', 'doc_link' => 'demo.md', ], ]; }
然后访问/doc
,即可看到效果
默认文档的路径
$this->mds_path=resource_path('mds/docs/');
getmenu()
里面的代码是文档显示的菜单,这个是写文档需要用到的
protected function getmenu()return [ [ 'name'=>config('laravel_doc.languages.project_doc'), 'spread'=>true,//菜单是否展开,fal不展开 'children'=>[ 'name'=>config('laravel_doc.languages.install'), 'doc_link'=>'install.md', ], ], [ 'name'=>config('laravel_doc.languages.project_doc'), 'spread'=>fal,//不展开菜单 'children'=>[ 'name'=>config('laravel_doc.languages.install'), 'doc_link'=>'install.md', ], ], ];}配置好菜单后可以在
resources/mds/docs
中新建doc_link
中指定的md文件,然后进行文档的编写在resources/mds/apidocs
中创建你的md文件,如demo.md
,加入你需要的内容,
然后到app/http/controllers/docs/laravelapidoccontroller.php
的index_md
中加入数据即可访问,例如:
private function index_md() { return [ [ 'name' => 'apidoc_html', 'doc_link' => 'apidoc_html.md', //可自行修改你的$this->host来使用你自己定义的访问地址 'url' => $this->host.'apidoc/html', 'request_type' => 'get',//请求方式 get或者post //请求参数 'params'=>[ 'name'=>'apidoc_html.md', ] ], [ 'name' => 'demo', 'doc_link' => 'demo.md', 'url' => $this->host.'apidoc/html', 'request_type' => 'get',//请求方式 get或者post //给定一些需要请求的参数 'params'=>[ 'name'=>'', 'ur_id'=>'', ] ], ]; }
然后访问/apidoc
,即可看到效果
点击提供的demo:apidoc_html
,即可看到上面的请求路径和需要的请求参数,以及下面的参数文档
点击发送请求
按钮,可以执行ajax请求,如果接口没有问题的话,就会返回ajax数据了
这个时候点击生成文档
,会打开一个markdown
的编辑框和右侧的效果图,该界面获取了当前点击页面
中定义的请求路径,参数,返回值等,在预览效果中你可以修改接口人
,参数说明
中对每个参数进行说明,
以及返回值的说明等,然后点击生成
按钮,会根据你定义的$this->mds_path
.你配置的doc_link
,
如:resources/mds/apidocs/demo.md
,来产生文件
laravel_doc.php
配置文件说明//laravel-doc的名字'name' => 'laravel-d黄豆的吃法oc',//用在了定义撰写接口人的名字'author' => env('doc_author','foryoufeng'),//接口请求发送了这个token'token' => env('doc_token','doc'),//做国际化时可以用到'languages'=>[ 'arch'=>'搜索', 'arch_result'=>'搜索结果', 'project_doc'=>'项目文档', 'doc_name'=>'文档名称', 'install'=>'安装', 'how_u'=>'使用说明', 'request_type'=>'http请求方式',学历文凭 'request_url'=>'请求地址', 'nd_request'=>'发送请求', 'generate_doc'=>'生成文档', 'welcome_u'=>'欢迎使用', 'param'=>'参数', 'value'=>'值', 海贼王600 'generate'=>'生成',]
如果你的项目比较小,只用写一个文档和一个api接口文档,那么在app/http/controllers/docs/laravelapidoccontroller.php
和app/http/controllers/docs/laraveldoccontroller.php
中加入你的文档应该基本满足要求
如果有多个项目,可以复制app/http/controllers/docs
、resources/views/docs
,可以在resources/mds/
目录中新远小人建你准备写文档的目录
然后在路由文件中定义好需要的路由,需要复制下面的这些路由
//doc routeroute::group(['namespace'=>'docs'],function (){ route::get('doc', 'laraveldoccontroller@index')->name('doc.index'); //md文件返回到html route::get('doc/html', 'laraveldoccontroller@html')->name('doc.html'); route::get('apidoc', 'laravelapidoccontroller@index')->name('doc.apidoc'); //md文件返回到html route::get('apidoc/html', 'laravelapidoccontroller@html')->name('doc.apidoc.html'); //预览api文档 route::post('apidoc/markdown', 'laravelapidoccontroller@markdown')->name('doc.apidoc.markdown'); //生成api文档 route::post('apidoc/save', 'laravelapidoccontroller@save')->name('doc.apidoc.save'); });
可以修改config/laravel_doc.php
中的languages
来更换语言,默认提供的是中文
在config/laravel_doc.php
中有一个token
的配置,接口做ajax请求时在header
中带了access-token
,接口可以根据这个配置,
做一个中间件
的处理,比如使用指定的token
就可以获取对应用户的信息,进行接口的请求和赋值等
tips
项目为了通用,我并没有提供中间件进行文档和接口的拦截,出于安全考虑,建议使用者可以根据自身需求编写中间件进行文档的保护
本文发布于:2023-04-07 19:22:09,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/75f032160806d1f76fbfaa6030c68f75.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Laravel文档工具.doc
本文 PDF 下载地址:Laravel文档工具.pdf
留言与评论(共有 0 条评论) |