⛵laravel-doc
est un projet utilisé pour générer des documents, rédiger des documents via markdown et fournir un accès Web aux documents
composer require foryoufeng/laravel-doc
Si vous êtes Si vous utilisez Laravel 5.5 ou une version antérieure, vous devez ajouter le fournisseur de services deconfig/app.php
:
Foryoufeng\Doc\DocServiceProvider::class
Exécutez la commande suivante pour publier le fichier de ressources
php artisan doc:install
Après avoir publié la ressource, il y a il y aura beaucoup plus de fichiers
/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
, vous pouvez voir la documentation de ce projet/apidoc
, vous pouvez voir la documentation de l'interface de ce projetCréez votre fichier md dansresources/mds/docs
, tel quedemo.md
, ajoutez le contenu dont vous avez besoin,
puis ajoutez-le àapp/Http/Controllers/Docs/LaravelDocController.php
dansindex_md
Les données sont accessibles, par exemple :
//默认已经加入了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', ], ]; }
Puis accédez à/doc
pour voir l'effet
Chemin du document par défaut
$this->mds_path=resource_path('mds/docs/');
getMenu()
Le code à l'intérieur est le menu affiché dans le document, qui est nécessaire pour écrire le document
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
Créer le fichier md spécifié dansdoc_link
, puis écrire le documentCréer votre fichier md dansresources/mds/apidocs
, commedemo.md
, ajoutez le contenu dont vous avez besoin,
puis ajoutez des données àapp/Http/Controllers/Docs/LaravelApiDocController.php
deindex_md
pour y accéder, par exemple :
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'=>'', ] ], ]; }
puis accédez à/apidoc
pour voir Effet
Cliquez sur la démo fournie :apidoc_html
pour voir le chemin de la requête ci-dessus et les paramètres de requête requis, ainsi que le document de paramètres suivant
Cliquez sur le bouton发送请求
pour exécuter la requête ajax, s'il n'y a pas de problème avec l'interface, les données ajax seront renvoyées
A ce moment, cliquez sur生成文档
, et une zone d'édition demarkdown
et un rendu à droite s'ouvriront. Cette interface obtient la page actuellement cliquée.
Le chemin de la requête, les paramètres, la valeur de retour, etc. définis dans , vous pouvez modifier接口人
dans l'effet d'aperçu, expliquer chaque paramètre dans参数说明
,
et la description de la valeur de retour, etc., puis cliquez sur le bouton生成
, générera le fichier$this->mds_path
doc_link
resources/mds/apidocs/demo.md
description du fichier de configuration
//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'=>'生成', ]
laravel_doc.php
app/Http/Controllers/Docs/LaravelApiDocController.php
app/Http/Controllers/Docs/LaravelDocController.php
Si vous avez plusieurs projets, vous pouvez copier
puis définissez les itinéraires requis dans le fichier de routage Vous devez copier les itinéraires suivantsapp/Http/Controllers/Docs
//doc route Route::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'); });
resources/views/docs
resources/mds/
config/laravel_doc.php
languages
中文
Interception de l'interface
. L'interface peut utiliser cette configuration pour effectuer un traitementconfig/laravel_doc.php
surtoken
. Par exemple, en utilisant leheader
spécifié, vous pouvez obtenir les informations utilisateur correspondantes et exécuter l'interface. traitement. Demandes et missions, etc.Access-Token
中间件
token
conseils
Apprenez dans la colonne Tutoriel Laravel项目为了通用,我并没有提供中间件进行文档和接口的拦截,出于安全考虑,建议使用者可以根据自身需求编写中间件进行文档的保护
!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!