laravel-doc
⛵laravel-doc
是一個用來產生文檔,透過markdown來撰寫文檔,並提供web存取文檔的項目
安裝需求
- PHP >= 7.0.0
- Laravel >= 5
composer require foryoufeng/laravel-doc
如果你是執行的Laravel 5.5以下的版本,需要在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'=>'生成',
]
進階
- ##多項目
-
如果你的專案比較小,只用寫一個文檔和一個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中文網其他相關文章!

Laravel通過簡化Web開發過程和提供強大功能脫穎而出。其優勢包括:1)簡潔的語法和強大的ORM系統,2)高效的路由和認證系統,3)豐富的第三方庫支持,使得開發者能專注於編寫優雅的代碼並提高開發效率。

laravelispredminandermanthandermanthandermanthandermanthermanderframework,設計Forserver-SideLogic,databasemagement,andapideplupment,thryitalsosupportsfortfortsfrontenddevelopmentwithbladeTemplates。

Laravel和Python在性能和可擴展性方面的表現各有優劣。 Laravel通過異步處理和隊列系統提升性能,但受PHP限制在高並發時可能有瓶頸;Python利用異步框架和強大的庫生態系統表現出色,但在多線程環境下受GIL影響。

Laravel適合團隊熟悉PHP且需功能豐富的項目,Python框架則視項目需求而定。 1.Laravel提供優雅語法和豐富功能,適合需要快速開發和靈活性的項目。 2.Django適合複雜應用,因其“電池包含”理念。 3.Flask適用於快速原型和小型項目,提供極大靈活性。

Laravel可以用於前端開發。 1)使用Blade模板引擎生成HTML。 2)集成Vite管理前端資源。 3)構建SPA、PWA或靜態網站。 4)結合路由、中間件和EloquentORM創建完整Web應用。

PHP和Laravel可用於構建高效的服務器端應用。 1.PHP是開源腳本語言,適用於Web開發。 2.Laravel提供路由、控制器、EloquentORM、Blade模板引擎等功能,簡化開發。 3.通過緩存、代碼優化和安全措施,提升應用性能和安全性。 4.測試和部署策略確保應用穩定運行。

Laravel和Python在學習曲線和易用性上的表現各有優劣。 Laravel適合快速開發Web應用,學習曲線相對平緩,但掌握高級功能需時間;Python語法簡潔,學習曲線平緩,但動態類型系統需謹慎。

Laravel在後端開發中的優勢包括:1)優雅的語法和EloquentORM簡化了開發流程;2)豐富的生態系統和活躍的社區支持;3)提高了開發效率和代碼質量。 Laravel的設計讓開發者能夠更高效地進行開發,並通過其強大的功能和工具提升代碼質量。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

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

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版
好用的JavaScript開發工具