Laravel文檔工具
laravel-doc
⛵laravel-doc
是一個用來產生文檔,透過markdown來撰寫文檔,並提供web存取文檔的項目
安裝需求
- PHP >= 7.0.0
- Laravel >= 5
composer require foryoufeng/laravel-doc
登入後複製
如果你是執行的Laravel 5.5以下的版本,需要在composer require foryoufeng/laravel-doc
config/app.php的service provider中加入:
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中建立你的md檔,如
demo.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/');
getMenu()裡面的程式碼是文檔顯示的選單,這個是寫文檔需要用到的
- 配置多個選單範例
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', ], ], ]; }
中新建
doc_link中指定的md文件,然後進行文檔的編寫
api介面文件的編寫在
resources/mds/apidocs中建立你的md檔,如
demo.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,即可看到上面的請求路徑和需要的請求參數,以及下面的參數文檔
發送請求按鈕,可以執行ajax請求,如果接口沒有問題的話,就會返回ajax數據了
這個時候點擊
生成文檔,會開啟一個
markdown的編輯框和右側的效果圖,該介面取得了目前點擊頁面
中定義的請求路徑,參數,傳回值等,在預覽效果中你可以修改
介面人,在
參數說明中對每個參數進行說明,
以及傳回值的說明等,然後點選
產生按鈕,會根據你定義的
$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'=>'生成',
]
登入後複製
進階
//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'=>'生成', ]
- ##多項目
-
如果你的專案比較小,只用寫一個文檔和一個api接口文檔,那麼在
app/Http/Controllers/Docs/LaravelApiDocController.php和
app/Http/Controllers/Docs /LaravelDocController.php
中加入你的文件應該基本上滿足要求
如果有多個項目,可以複製
、resources/views/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'); });
- 國際化
-
可以修改
config/laravel_doc.php中的
languages
#來更換語言,預設提供的是中文
介面攔截 -
在
config/laravel_doc.php中有一個
token
的配置,介面做ajax請求時在header
中帶了Access-Token
,介面可以根據這個配置,做一個
中間件
的處理,例如使用指定的token
就可以取得對應使用者的信息,進行介面的請求與賦值等 tips
更多Laravel相關技術文章,請造訪
以上是Laravel文檔工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Laravel郵件發送失敗時的退信代碼獲取方法在使用Laravel開發應用時,經常會遇到需要發送驗證碼的情況。而在實�...

在dcatadmin(laravel-admin)中如何實現自定義點擊添加數據的表格功能在使用dcat...

Laravel框架中Redis連接的共享與select方法的影響在使用Laravel框架和Redis時,開發者可能會遇到一個問題:通過配置...

在Laravel多租戶擴展包stancl/tenancy中自定義租戶數據庫連接使用Laravel多租戶擴展包stancl/tenancy構建多租戶應用時,...

LaravelEloquent模型檢索:輕鬆獲取數據庫數據EloquentORM提供了簡潔易懂的方式來操作數據庫。本文將詳細介紹各種Eloquent模型檢索技巧,助您高效地從數據庫中獲取數據。 1.獲取所有記錄使用all()方法可以獲取數據庫表中的所有記錄:useApp\Models\Post;$posts=Post::all();這將返回一個集合(Collection)。您可以使用foreach循環或其他集合方法訪問數據:foreach($postsas$post){echo$post->

在Laravel6項目中如何檢查Redis連接的有效性是一個常見的問題,特別是在項目依賴於Redis進行業務處理時。以下是...

Laravel數據庫遷移過程中出現類重複定義問題在使用Laravel框架進行數據庫遷移時,開發者可能會遇到“類已使用�...

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。
