Laravel5.7 dump-server 本地代码调试

介绍

在 Laracon US 2018 大会上 Taylor Otwell 宣布会在 Laravel 5.7 中引入 Laravel Dump Server 扩展包(该扩展包将 Symfony 的 Var-Dump Server 引入 Laravel,用于在开发环境收集 dump() 函数输出,并将其打印到控制台或导出到文件)。

使用

你就可以在 Laravel 5.7 应用中开箱使用以下 Artisan 命令将打印数据输出到控制台或者 HTML 文件,而不必打开浏览器上查看:

1
2
3
4
php artisan dump-server

# Or send the output to an HTML file
php artisan dump-server --format=html > dump.html

上面命令在后台运行服务器,该服务器收集从通过控制台发送输出的应用程序发送的数据。当命令未在前台运行时,该 dump() 功能默认按预期工作。

测试

  1. 命令很简单,下面通过简单的例子测试一下 Laravel5.7新特性,新建项目并在路由上简单的 dump() 信息:
1
2
3
4
5

Route::get('/', function () {
dump('Hello Laravel5.7');
return view('welcome');
});
  1. 运行项目后页面会出现我们输出的 Hello Laravel5.7 的信息:
  1. 在项目根目录运行 php artisan dump-server :
1
2
3
4
5
6
7
8
Laravel Var Dump Server
=======================


[OK] Server listening on tcp://127.0.0.1:9912


// Quit the server with CONTROL-C.
  1. 刷新页面并查看命令行:

同理可以接收任何请求过来的数据,只要你想调试的地方调用即可,包括 postajaxjson 数据。

  1. 执行 php artisan dump-server --format=html > dump.html 命令后,刷新浏览器在项目根目录生成 dump.html,在浏览器中打开:

总结

通过该扩展包,我们可以在任意想要调试代码的地方调用 dump() 函数打印数据,而不会影响原本的代码执行,从而极大提高本地开发调试效率。OK, dump-server 命令就简单介绍到这里,文中有错误的地方请指出,谢谢!