Laravel 5.7 新特性之引入 Laravel Dump Server 扩展包方便本地开发代码调试

栏目: 编程语言 · PHP · 发布时间: 6年前

内容简介:在 Laracon US 2018 大会上 Taylor Otwell 宣布会在 Laravel 5.7 中引入这样,你就可以在 Laravel 5.7 应用中开箱使用以下 Artisan 命令将打印数据输出到控制台或者 HTML 文件,而不必打开浏览器:以上命令会在后台启动 Web 服务器,并监听

在 Laracon US 2018 大会上 Taylor Otwell 宣布会在 Laravel 5.7 中引入 Laravel Dump Server 扩展包(该扩展包将 Symfony 的 Var-Dump Server 引入 Laravel,用于在开发环境收集 dump() 函数输出,并将其打印到控制台或导出到文件),作为开发环境依赖放到 composer.json 文件的 require-dev 配置项中:

"require-dev": {
    "beyondcode/laravel-dump-server": "~1.0",
    "filp/whoops": "^2.0",
    "fzaninotto/faker": "^1.4",
    "mockery/mockery": "^1.0",
    "nunomaduro/collision": "^2.0",
    "phpunit/phpunit": "^7.0"
},

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

php artisan dump-server

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

以上命令会在后台启动 Web 服务器,并监听 dump() 函数,然后将输出发送到控制台/导出到文件。如果没有在控制台运行上述命令,那么 dump() 函数还是按照默认的方式执行,不会受到影响。

Laravel 会持续将一些有用的第三方扩展包引入官方发行版本,例如在 Laravel 5.6 中引入了 nunomaduro/collision ,在 Laravel 5.5 中引入了 fideloper/proxy

如果你想在 Laravel 5.6 及以下版本中使用 Laravel Dump Server,需要通过 Composer 安装这个扩展包:

composer require --dev beyondcode/laravel-dump-server

如果希望对其进行自定义配置,可以将其配置文件发布到 config 目录下:

php artisan vendor:publish --provider=BeyondCode\\DumpServer\\DumpServerServiceProvider

该命令会在 config 下新增一个 debug-server.php 配置文件。你可以在该配置文件中配置想要监听的服务器 IP 及端口号,如果是通过 Laradock 作为本地开发环境,需要将 IP 地址替换为 workspace 的容器名方可正常使用。

该扩展包的使用也非常简单,我们在应用的 routes/api.php 文件中定义一个 API 路由:

Route::get('/test', function (Request $request) {
    dump($request->all());
    return [
        'name' => $request->get('name') ? : '学院君',
        'site' => $request->get('site') ? : 'Laravel学院',
    ];
});

如果没有启用 php artisan dump-server 命令,访问 http://dump-server.test/api/test?name=学院君&site=Laravel学院 的话页面显示如下:

Laravel 5.7 新特性之引入 Laravel Dump Server 扩展包方便本地开发代码调试

下面在项目根目录下运行该命令,再次访问上面的 URL 链接,会看到 dump() 输出打印到了控制台:

Laravel 5.7 新特性之引入 Laravel Dump Server 扩展包方便本地开发代码调试

同时浏览器中也不再显示 dump() 输出,而是将返回数组以 JSON 格式输出:

Laravel 5.7 新特性之引入 Laravel Dump Server 扩展包方便本地开发代码调试

通过该扩展包,我们可以在任意想要调试代码的地方调用 dump() 函数打印数据,而不会影响原本的代码执行,从而极大提高本地开发调试效率。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数学与泛型编程

数学与泛型编程

[美]亚历山大 A. 斯捷潘诺夫(Alexander A. Stepanov)、[美]丹尼尔 E. 罗斯(Daniel E. Rose) / 爱飞翔 / 机械工业出版社 / 2017-8 / 79

这是一本内容丰富而又通俗易懂的书籍,由优秀的软件设计师 Alexander A. Stepanov 与其同事 Daniel E. Rose 所撰写。作者在书中解释泛型编程的原则及其所依据的抽象数学概念,以帮助你写出简洁而强大的代码。 只要你对编程相当熟悉,并且擅长逻辑思考,那么就可以顺利阅读本书。Stepanov 与 Rose 会清晰地讲解相关的抽象代数及数论知识。他们首先解释数学家想要解决......一起来看看 《数学与泛型编程》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具