Php+debugbar+api,Lumen/Laravel调试API接口利器laravel-debugbar
Laravel、Lumen打印sql每次都要在手動加調試代碼挺麻煩的。本文主要介紹另一個調試神器barryvdh/laravel-debugbar
先講一下效果。可以調試帶頁面的接口,也可以調試單純的json api接口。
圖一:請求的接口列表,可以根據一些條件進行過濾。紅色劃線的部分是我自己修改composer保增加上去的選項,后面一起放出composer倉庫鏈接。
圖二、查看異常(就不用到服務器看日志文件了)
圖三、打印sql(所有sql一目了然)
還有其他幾個面板,就不截圖了。
安裝步驟:
1、安裝composer包
# 原版composer包,請求接口列表沒有我圖一劃線那幾個篩選項
composer require barryvdh/laravel-debugbar
composer require barryvdh/laravel-debugbar --dev //僅開發環境安裝
# 我修改的過的composer包
composer require evan766/laravel-debugbar
composer require evan766/laravel-debugbar --dev //僅開發環境安裝
2、注冊服務提供者。該composer包同同時支持laravel和lumen,如果是lumen框架使用,注冊的服務提供者要換成lumen的服務提供者
#bootstrap/app.php
if (env("APP_ENV") != "production" && env("APP_DEBUG") === true) {
$app->register(BarryvdhDebugbarLumenServiceProvider::class);
}
3、修改配置文件。將包中的debugbar.php配置文件放到Lumen項目的config目錄。
注意些以下幾個配置:
#是否啟用監聽調試,總開關,配置成 true開啟
"enabled" => env("DEBUGBAR_ENABLED", null),
# 將調試頁面注入到你項目的運行的一個view頁面,在右下角出來一個調試標
"inject" => true,
4、修改app/Exceptions/Handler.php,所有異常加入到debugbar收集的信息中
public function report(Exception $e)
{//如果開發環境并且打開調試模式,將異常加入到debugbar調試工具中
if (config("app.env") != "production" && env("APP_DEBUG") === true) {
debugbar()->addThrowable($e);
}
parent::report($e);
}
4、特別提示,對于沒有頁面的純api接口的調試。單獨定義一個路由渲染一個給debugbar注入調試信息的view頁面。然后你從任意地方(postman、app、前段項目)請求接口,點開右下角的調試按鈕,通過篩選項過濾出你要查看的api請求就行。
可以添加一個單獨的路由文件
$router->get("debugbar", function() {if (env("APP_ENV") != "production" && env("APP_DEBUG") === true) {return view("debug_tool.debugbar");
}
abort(404);
});
最后放一下其他人寫的教程供參考
如果很懶不想安裝,給一下我之前用過的一個助手函數打印sql
//可以用這個助手函數打印
functiongetSql ()
{
app("db")->listen(function ($sql) {$singleSql = $sql->sql;if ($sql->bindings) {foreach ($sql->bindings as $replace) {$value = is_numeric($replace) ? $replace : """ . $replace . """;$singleSql = preg_replace("/?/", $value, $singleSql, 1);
}
}
dump($singleSql);
});
}
總結
以上是生活随笔為你收集整理的Php+debugbar+api,Lumen/Laravel调试API接口利器laravel-debugbar的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 下载nltk数据包
- 下一篇: SDCMS131批量安装设置助手