
⛵laravel-docest 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.phpdansindex_mdLes 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 à/docpour 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/docsCré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.phpdeindex_mdpour 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 à/apidocpour voir Effet
Cliquez sur la démo fournie :apidoc_htmlpour 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 demarkdownet 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_pathdoc_linkresources/mds/apidocs/demo.mddescription 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.phpapp/Http/Controllers/Docs/LaravelApiDocController.phpapp/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.phplanguages中文Interception de l'interface
. L'interface peut utiliser cette configuration pour effectuer un traitementconfig/laravel_doc.phpsurtoken. Par exemple, en utilisant leheaderspécifié, vous pouvez obtenir les informations utilisateur correspondantes et exécuter l'interface. traitement. Demandes et missions, etc.Access-Token中间件tokenconseils
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!
Introduction aux composants Laravel
Introduction au middleware Laravel
Quels sont les modèles de conception utilisés par Laravel ?
Lequel est le plus simple, thinkphp ou laravel ?
Tutoriel Laravel
Comment récupérer des données après le formatage
SQL dans l'utilisation de l'opérateur
Comment changer la disposition CAO du blanc au noir