Laravel文档工具laravel-doc安装访问

Laravel文档工具laravel-doc安装访问,第1张

概述laravel-doc⛵laravel-doc 是一个用来生成文档,通过markdown来撰写文档,并提供web访问文档的项目安装要求PHP >= 7.0.0Laravel >= 5安装 composer require foryoufeng/laravel-doc如果你是运行

laravel-doc@H_502_6@

laravel-doc 是一个用来生成文档,通过markdown来撰写文档,并提供web访问文档的项目

安装要求

PHP >= 7.0.0

Laravel >= 5

安装@H_502_6@
 composer require foryoufeng/laravel-doc

如果你是运行的Laravel 5.5以下的版本,需要在config/app.PHP的service provIDer中添加:

 Foryoufeng\Doc\DocServiceProvIDer::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,即可看到本项目的说明文档@H_502_6@访问/APIdoc,即可看到本项目的接口说明文档@H_502_6@如何使用@H_502_6@普通文档的编写

resources/mds/docs中创建你的md文件,如demo.md,加入你需要的内容,
然后到app/http/Controllers/Docs/LaravelDocController.PHPindex_md中加入数据即可访问,例如:

//默认已经加入了2个例子private function index_md()    {        return  [            [                'name' => config('laravel_doc.languages.install'),                'doc_link' => 'install.md',            ],            [                'name' => config('laravel_doc.languages.how_use'),                'doc_link' => 'how_use.md',            ],            [                'name' => 'demo',                'doc_link' => 'demo.md',            ],        ];    }

然后访问/doc,即可看到效果

控制器说明@H_502_6@

默认文档的路径

$this->mds_path=resource_path('mds/docs/');

getMenu()里面的代码是文档显示的菜单,这个是写文档需要用到的

配置多个菜单示例

protected function getMenu()return [            [                'name'=>config('laravel_doc.languages.project_doc'),                'spread'=>true,//菜单是否展开,false不展开                'children'=>[                        'name'=>config('laravel_doc.languages.install'),                        'doc_link'=>'install.md',                     ],            ],            [                'name'=>config('laravel_doc.languages.project_doc'),                'spread'=>false,//不展开菜单                'children'=>[                        'name'=>config('laravel_doc.languages.install'),                        'doc_link'=>'install.md',                 ],            ],        ];}

配置好菜单后可以在resources/mds/docs中新建doc_link中指定的md文件,然后进行文档的编写


API接口文档的编写

resources/mds/APIdocs中创建你的md文件,如demo.md,加入你需要的内容,
然后到app/http/Controllers/Docs/LaravelAPIDocController.PHPindex_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'=>'',                    'user_ID'=>'',                ]            ],        ];    }

然后访问/APIdoc,即可看到效果

点击提供的demo:APIdoc_HTML,即可看到上面的请求路径和需要的请求参数,以及下面的参数文档

点击发送请求按钮,可以执行AJAX请求,如果接口没有问题的话,就会返回AJAX数据了
这个时候点击生成文档,会打开一个markdown的编辑框和右侧的效果图,该界面获取了当前点击页面
中定义的请求路径,参数,返回值等,在预览效果中你可以修改接口人参数说明中对每个参数进行说明,
以及返回值的说明等,然后点击生成按钮,会根据你定义的$this->mds_path.你配置的doc_link
如:resources/mds/APIdocs/demo.md,来产生文件


laravel_doc.PHP 配置文件说明@H_502_6@
    //laravel-doc的名字    'name' => 'Laravel-doc',    //用在了定义撰写接口人的名字    'author' => env('DOC_AUTHOR','foryoufeng'),    //接口请求发送了这个token    'token' => env('DOC_TOKEN','doc'),    //做国际化时可以用到    'languages'=>[        'search'=>'搜索',        'search_result'=>'搜索结果',        'project_doc'=>'项目文档',        'doc_name'=>'文档名称',        'install'=>'安装',        'how_use'=>'使用说明',        'request_type'=>'http请求方式',        'request_url'=>'请求地址',        'send_request'=>'发送请求',        'generate_doc'=>'生成文档',        'welcome_use'=>'欢迎使用',        'param'=>'参数',        'value'=>'值',        'generate'=>'生成',    ]
进阶@H_502_6@多项目

如果你的项目比较小,只用写一个文档和一个API接口文档,那么在app/http/Controllers/Docs/LaravelAPIDocController.PHPapp/http/Controllers/Docs/LaravelDocController.PHP
中加入你的文档应该基本满足要求

如果有多个项目,可以复制app/http/Controllers/Docsresources/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

项目为了通用,我并没有提供中间件进行文档和接口的拦截,出于安全考虑,建议使用者可以根据自身需求编写中间件进行文档的保护

更多Laravel相关技术文章,请访问Laravel教程栏目进行学习!

总结

以上是内存溢出为你收集整理的Laravel文档工具laravel-doc安装访问全部内容,希望文章能够帮你解决Laravel文档工具laravel-doc安装访问所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1234418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存