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相关推荐

  1. 【日常填坑】之ajax请求laravel的api接口

    关于作者 程序开发人员,不拘泥于语言与技术,目前主要从事PHP和前端开发,使用Laravel和VueJs,App端使用Apicloud混合式开发.合适和够用是最完美的追求. 个人网站:http://w ...

  2. php邮箱验证laravel接口,Laravel 5 API 服务端支持签名授权认证

    Laravel 5 API 服务端支持签名授权认证 Api Authorized Signature Middleware for Laravel 5 关于 The larsign package a ...

  3. Laravel 开发 API 时的前置准备

    前言 使用 Laravel 有一段时间了,今天来总结我平时进行开发前的一些准备工作,如果有不合理的地方或者有更好的建议欢迎各位大佬指出纠正! 环境 PHP8 + MySQL5.7 + Nginx1.2 ...

  4. 使用 TDD 测试驱动开发来构建 Laravel REST API

    TDD 以及敏捷开发的先驱者之一的 James Grenning有句名言: 如果你没有进行测试驱动开发,那么你应该正在做开发后堵漏的事 - James Grenning 今天我们将进行一场基于 Lar ...

  5. 使用 TDD 测试驱动开发来构建 Laravel REST API 1

    TDD 以及敏捷开发的先驱者之一的 James Grenning有句名言: 如果你没有进行测试驱动开发,那么你应该正在做开发后堵漏的事 - James Grenning 今天我们将进行一场基于 Lar ...

  6. dingo php,用laravel dingo/api创建简单的api

    这篇文章主要介绍了关于用laravel dingo/api创建简单的api,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 1,修改.env配置文件添加API_STANDARDS_TRE ...

  7. larvel 中的api.php_Laravel API 系列教程(一): 基于 Laravel 5.5 构建 测试 RESTful API...

    Laravel API 系列教程(一): 基于 Laravel 5.5 构建 & 测试 RESTful API 由 学院君 创建于2年前, 最后更新于 9个月前 版本号 #3 171702 v ...

  8. dingo php,详细介绍Laravel+Dingo/Api 自定义响应

    Laravel+Dingo/Api 自定义响应的实现 在最近的开发开发项目中,我使用了Dingo/Api这个第三方Api库. Dingo是个很强大的Api库, 但在开发的过程中,需要自定义响应字段. ...

  9. 如何基于 Notadd 构建 API (Laravel 写 API)

    如何基于 Notadd 构建 API Notadd 底层实现了 passport 机制,有统一的授权管理,主要支持两种方式进行 API 授权,一个是 client,领一个是 passport,这个在其 ...

最新文章

  1. 程序员入职锦囊妙计 --读书笔记
  2. 利用PHP的Popen实现RRDTOOL作图的动态输出
  3. php中的select case语句吗,VBS教程:VBScript 语句-Select Case 语句
  4. win98 老电脑 文件导出_首次装电脑之前何不先模拟一番,这款练手神器可以帮你...
  5. JSONP跨域原理和jQuery.getJSON用法
  6. sed手册-3 例子
  7. 语音合成论文与韩国小哥“撞车”后续:英伟达“赶紧”把代码开源了
  8. 使用类名称创建实例并调用构造函数
  9. C#之double网络字节序
  10. xmlspy_XMLSpy是免费的吗? 我说天堂的甘露。
  11. PS调出唯美紫蓝色天空背景女生照片
  12. 全国区号省份mysql_中国各个省份的区号
  13. OpenCV 自带示例sample中的双目校正stereo_calib.cpp 安装与解读
  14. 2020年云计算发展趋势怎么样?
  15. 如何让 MacBook 最适化 macOS Big Sur 和 Monterey 电池
  16. Presenting view controllers on detached view controllers is discouraged的解决方案
  17. 基于DS18B20温度检测
  18. Web上的推箱子游戏Sokoban
  19. python打开本地浏览器_使用webdriver打开本地浏览器--python版
  20. 想在网上保持匿名?教你用Linux如何实现!

热门文章

  1. 6、面向对象编程(下)
  2. 【51单片机】驱动继电器实验代码
  3. 基于MFC海康威视摄像头Demo(含抓图显示|不含云台)
  4. 游戏建模大佬教会你如何用softimage ice制作轮子转动
  5. 视频教程-vue从入门到精通-Vue
  6. 5-24 藏尾诗 (20分)
  7. 安全生产责任体系重点岗位履职清单
  8. 易语言操作java窗口,易语言调用JAVA源码
  9. InstallShield-Limited-Edition 注册
  10. C语言中判断语句if