⛵laravel-doc
は、ドキュメントの生成、マークダウンによるドキュメントの作成、ドキュメントへの Web アクセスの提供に使用されるツールです。プロジェクト
composer require foryoufeng/laravel-doc
Laravel 5.5 以前を実行している場合は、config/app.php
にサービス プロバイダーを追加する必要があります:
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
、このプロジェクトのドキュメントを参照できます/apidoc
では、このプロジェクトのインターフェイス説明ドキュメントが表示されます。resources/mds/docs# にあります。##demo.md
などの 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_use'), 'doc_link' => 'how_use.md', ], [ 'name' => 'demo', 'doc_link' => 'demo.md', ], ]; }
/doc
にアクセスして効果を確認します。
コントローラーの説明デフォルトのドキュメント パス
$this->mds_path=resource_path('mds/docs/');
内部のコードはドキュメントに表示されるメニューです。これはドキュメントの作成に必要なものです。
複数のメニューの構成例
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', ], ], ]; }
API インターフェイス ドキュメントの作成などの 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'=>'', 'user_id'=>'', ] ], ]; }
/apidoc
にアクセスすると、その効果がわかります。
提供されたデモ:apidoc_html
をクリックすると、上記のリクエストが表示されますパスと必要なリクエストパラメータ、および次のパラメータドキュメント
Send request
ボタンをクリックして ajax リクエストを実行すると、インターフェースに問題がなければ、ajax データが返されます。
をクリックしてドキュメントを生成すると、
markdown
の編集ボックスが表示され、右側のレンダリングが開き、リクエストのパス、パラメータ、戻り値を取得するインターフェースです。 、現在クリックされているページで定義されているものなど、プレビュー効果で
Interface Person、
Parameter description
を変更して、各パラメータ、、および戻り値の説明を説明できます。などを入力して、
Generateボタンをクリックすると、定義した
$this->mds_path
に従って、構成したdoc_link
、例:
resources/mds/apidocs/demo.md、ファイルを生成するためのファイル
laravel_doc.php
//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'=>'生成', ]
に追加すると、基本的に要件を満たしているはずです#複数のプロジェクトがある場合は、
app/Http/Controllers/Docs
resources/mds に新しいディレクトリを作成できます/ドキュメントを作成する予定のディレクトリ
を作成し、ルーティング ファイルに必要なルートを定義します。次のルートをコピーする必要があります//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'); });
Internationalization
中国語です。インターフェイスインターセプト
が含まれますheader
インターフェイスは、この設定に基づいてmiddle を作成できます。たとえば、指定された
tokenを使用してファイル
を処理すると、次のように取得できます。対応するユーザー情報の取得、インターフェイスのリクエストと割り当ての実行など。ヒント
以上がLaravelドキュメントツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。