ホームページ >PHPフレームワーク >Laravel >Laravelドキュメントツール

Laravelドキュメントツール

步履不停
步履不停オリジナル
2019-07-03 14:33:144540ブラウズ

Laravelドキュメントツール

laravel-doc

laravel-doc は、ドキュメントの生成、マークダウンによるドキュメントの作成、ドキュメントへの Web アクセスの提供に使用されるツールです。プロジェクト

インストール要件

  • PHP >= 7.0.0
  • Laravel >= 5

インストール

 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中增加了路由文件

Visit /doc、このプロジェクトのドキュメントを参照できます

Visit /apidoc では、このプロジェクトのインターフェイス説明ドキュメントが表示されます。

使用方法

一般的なドキュメントの作成

resources/mds/docs# にあります。 ##demo.md などの md ファイルを作成し、必要なコンテンツを追加して、app/Http/Controllers/Docs/LaravelDocController.php# の に移動します。 ## データを index_md
に追加してアクセスします。例: <pre class="brush:php;toolbar:false">//默认已经加入了2个例子 private function index_md()     {         return  [             [                 'name' =&gt; config('laravel_doc.languages.install'),                 'doc_link' =&gt; 'install.md',             ],             [                 'name' =&gt; config('laravel_doc.languages.how_use'),                 'doc_link' =&gt; 'how_use.md',             ],             [                 'name' =&gt; 'demo',                 'doc_link' =&gt; 'demo.md',             ],         ];     }</pre> 次に、/doc にアクセスして効果を確認します。

コントローラーの説明デフォルトのドキュメント パス

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

getMenu()

内部のコードはドキュメントに表示されるメニューです。これはドキュメントの作成に必要なものです。

複数のメニューの構成例<pre class="brush:php;toolbar:false">protected function getMenu() return [             [                 'name'=&gt;config('laravel_doc.languages.project_doc'),                 'spread'=&gt;true,//菜单是否展开,false不展开                 'children'=&gt;[                         'name'=&gt;config('laravel_doc.languages.install'),                         'doc_link'=&gt;'install.md',                      ],             ],             [                 'name'=&gt;config('laravel_doc.languages.project_doc'),                 'spread'=&gt;false,//不展开菜单                 'children'=&gt;[                         'name'=&gt;config('laravel_doc.languages.install'),                         'doc_link'=&gt;'install.md',                  ],             ],         ]; }</pre>

メニューを構成した後、
    resources/mds/docs
  • doc_link
  • で指定された新しい md ファイルを作成し、ドキュメントを書き込むことができますAPI インターフェイス ドキュメントの作成

resources/mds/apidocs

demo.md

などの md ファイルを作成します。必要なコンテンツを追加します。 次に、アクセスするために app/Http/Controllers/Docs/LaravelApiDocController.phpindex_md
にデータを追加します。例: <pre class="brush:php;toolbar:false">private function index_md()     {         return  [             [                 'name' =&gt; 'apidoc_html',                 'doc_link' =&gt; 'apidoc_html.md',                 //可自行修改你的$this-&gt;host来使用你自己定义的访问地址                 'url' =&gt; $this-&gt;host.'apidoc/html',                 'request_type' =&gt; 'get',//请求方式 get或者post                 //请求参数                 'params'=&gt;[                     'name'=&gt;'apidoc_html.md',                 ]             ],             [                 'name' =&gt; 'demo',                 'doc_link' =&gt; 'demo.md',                 'url' =&gt; $this-&gt;host.'apidoc/html',                 'request_type' =&gt; 'get',//请求方式 get或者post                 //给定一些需要请求的参数                 'params'=&gt;[                     'name'=&gt;'',                     'user_id'=&gt;'',                 ]             ],         ];     }</pre>その後、/apidoc にアクセスすると、その効果がわかります。

提供されたデモ:apidoc_html をクリックすると、上記のリクエストが表示されますパスと必要なリクエストパラメータ、および次のパラメータドキュメント

Send request ボタンをクリックして ajax リクエストを実行すると、インターフェースに問題がなければ、ajax データが返されます。

このとき、

をクリックしてドキュメント を生成すると、markdown
の編集ボックスが表示され、右側のレンダリングが開き、リクエストのパス、パラメータ、戻り値を取得するインターフェースです。 、現在クリックされているページ で定義されているものなど、プレビュー効果で Interface PersonParameter 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'=>'生成',
    ]

上級

複数のプロジェクト

プロジェクトが比較的小規模で、1 つのドキュメントと 1 つの API インターフェイス ドキュメントのみを作成する必要がある場合は、
    app/Http/Controllers に記述します。 /Docs/LaravelApiDocController.php
  • および

    app/Http/Controllers/Docs ドキュメントを /LaravelDocController.php

    に追加すると、基本的に要件を満たしているはずです #複数のプロジェクトがある場合は、
    app/Http/Controllers/Docs

    ,
  • resources/views/docs
をコピーし、

resources/mds に新しいディレクトリを作成できます/ ドキュメントを作成する予定のディレクトリ を作成し、ルーティング ファイルに必要なルートを定義します。次のルートをコピーする必要があります<pre class="brush:php;toolbar:false">//doc route Route::group(['namespace'=&gt;'Docs'],function (){     Route::get('doc', 'LaravelDocController@index')-&gt;name('doc.index');     //md文件返回到html     Route::get('doc/html', 'LaravelDocController@html')-&gt;name('doc.html');     Route::get('apidoc', 'LaravelApiDocController@index')-&gt;name('doc.apidoc');     //md文件返回到html     Route::get('apidoc/html', 'LaravelApiDocController@html')-&gt;name('doc.apidoc.html');     //预览api文档     Route::post('apidoc/markdown', 'LaravelApiDocController@markdown')-&gt;name('doc.apidoc.markdown');     //生成api文档     Route::post('apidoc/save', 'LaravelApiDocController@save')-&gt;name('doc.apidoc.save'); });</pre>Internationalization

    config/laravel_doc.php
  • langages

    を変更できます。言語を変更します。デフォルトは

    中国語 です。インターフェイスインターセプト

  • config/laravel_doc.php
  • ##token

    設定に#があり、インターフェイスがAjaxリクエストを行うと、

    Access-Token

    が含まれますheader インターフェイスは、この設定に基づいて middle を作成できます。たとえば、指定された token を使用してファイル を処理すると、次のように取得できます。対応するユーザー情報の取得、インターフェイスのリクエストと割り当ての実行など。
    ヒント

  • ユニバーサル プロジェクトのために、私は次のことを行いました。ドキュメントやインターフェイスを傍受するミドルウェアは提供しません。セキュリティ上の理由から、ユーザーがドキュメントを保護するために自分のニーズに応じてミドルウェアを作成できるようにすることをお勧めします
  • Laravel 関連の技術記事の詳細については、## を参照してください。 #Laravel チュートリアル
  • 学ぶべきコラム!

以上がLaravelドキュメントツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。