Heim  >  Artikel  >  PHP-Framework  >  Laravel-Dokumentationstool

Laravel-Dokumentationstool

步履不停
步履不停Original
2019-07-03 14:33:144483Durchsuche

Laravel-Dokumentationstool

laravel-doc

laravel-doc ist ein Projekt zum Generieren von Dokumenten, zum Schreiben von Dokumenten durch Markdown und zum Bereitstellen von Webzugriff auf Dokumente

Installationsanforderungen

  • PHP >= 7.0.0
  • Laravel >= 5

Installation

 composer require foryoufeng/laravel-doc

Wenn Sie Wenn Wenn Sie Laravel 5.5 oder niedriger ausführen, müssen Sie den Dienstanbieter von config/app.php hinzufügen:

 Foryoufeng\Doc\DocServiceProvider::class

Führen Sie den folgenden Befehl aus, um die Ressourcendatei zu veröffentlichen

 php artisan doc:install

Nachdem Sie die Ressource dort veröffentlicht haben wird noch viele weitere Dateien sein

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

Besuchen Sie /doc, Sie können die Dokumentation dieses Projekts sehen

Besuchen Sie /apidoc, Sie können die Schnittstellendokumentation dieses Projekts sehen

So verwenden Sie

Allgemeines Schreiben von Dokumenten

Erstellen Sie Ihre MD-Datei in resources/mds/docs, z. B. demo.md, fügen Sie den benötigten Inhalt hinzu,
und fügen Sie ihn dann zu in app/Http/Controllers/Docs/LaravelDocController.php Auf die Daten kann zugegriffen werden, zum Beispiel: 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',
            ],
        ];
    }
Dann greifen Sie auf

zu, um den Effekt zu sehen/doc

Controller-Beschreibung

Standarddokumentpfad

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

Der darin enthaltene Code ist das im Dokument angezeigte Menü, das zum Schreiben des Dokuments benötigt wirdgetMenu()

    Konfigurieren mehrerer Menübeispiele
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',
                 ],
            ],
        ];
}
  • Nachdem Sie das Menü konfiguriert haben, können Sie Sie können
  • Erstellen Sie die in resources/mds/docs angegebene MD-Datei und schreiben Sie dann das Dokumentdoc_link

  • Schreiben Sie das API-Schnittstellendokument

    Erstellen Sie Ihre MD-Datei in

    B. resources/mds/apidocs, fügen Sie den benötigten Inhalt hinzu, demo.md und fügen Sie dann Daten zu
    von app/Http/Controllers/Docs/LaravelApiDocController.php hinzu, um darauf zuzugreifen, zum Beispiel: 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'=>'',
                    ]
                ],
            ];
        }
    und greifen Sie dann auf

    zu, um anzuzeigen Wirkung/apidoc

    Klicken Sie auf die bereitgestellte Demo:

    , um den obigen Anforderungspfad und die erforderlichen Anforderungsparameter sowie das folgende Parameterdokument anzuzeigenapidoc_html

    Klicken Sie auf die Schaltfläche

    , um die Ajax-Anfrage auszuführen. Wenn kein Problem mit der Schnittstelle vorliegt, werden Ajax-Daten zurückgegeben. 发送请求 Klicken Sie zu diesem Zeitpunkt auf
    . Daraufhin wird ein Bearbeitungsfeld mit 生成文档 und ein Rendering auf der rechten Seite geöffnet. Diese Schnittstelle ruft die aktuell angeklickte Seite ab markdown Der Anforderungspfad, die Parameter, der Rückgabewert usw. sind in definiert. Sie können
    im Vorschaueffekt ändern, jeden Parameter in 接口人, 参数说明 und die Beschreibung des Rückgabewerts usw. erläutern. und klicken Sie dann auf die Schaltfläche
    , um die Datei 生成$this->mds_pathdoc_link
    Konfigurationsdateibeschreibung resources/mds/apidocs/demo.md

        //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'=>'生成',
        ]
    Erweitert

    laravel_doc.php

    Multi- Projekt

    Wenn Ihr Projekt relativ klein ist und Sie nur ein Dokument und ein API-Schnittstellendokument schreiben müssen, dann sollten in
      und
    • Die Dokumente, die Sie in

      hinzufügen, grundsätzlich die Anforderungen erfüllen

      app/Http/Controllers/Docs/LaravelApiDocController.phpapp/Http/Controllers/Docs/LaravelDocController.phpWenn Sie mehrere Projekte haben, können Sie
      ,

      kopieren und für Ihre Vorbereitung ein neues im Verzeichnis
    • erstellen. Schreiben Sie das Verzeichnis des Dokuments
    und definieren Sie dann die erforderlichen Routen in der Routing-Datei. Sie müssen die folgenden Routen kopieren:

    app/Http/Controllers/Docsresources/views/docsInternationalisierungresources/mds/
    kann geändert werden

      in
    • zum Ändern der Sprache. Die bereitgestellte Standardeinstellung ist

      config/laravel_doc.phplanguagesSchnittstellenabfang 中文

      Es gibt eine
    • -Konfiguration in
    • , Schnittstelle Ajax-Anfrage,

      ist in

      enthalten. Die Schnittstelle kann diese Konfiguration verwenden, um die

      -Verarbeitung für config/laravel_doc.php durchzuführen. Mit der angegebenen token können Sie beispielsweise die entsprechenden Benutzerinformationen abrufen und die Schnittstelle ausführen Bearbeitung von Anfragen und Aufgaben usw. headerAccess-Token
      中间件Tippstoken

    • Weitere technische Artikel zu Laravel finden Sie hier Besuchen Sie
    Lernen Sie in der Laravel-Tutorial-Kolumne

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

    Das obige ist der detaillierte Inhalt vonLaravel-Dokumentationstool. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn