Laravel 5.5 中的集合将新增 DD 和 Dump 功能
发布时间:作者: Eric L. Barnes
Laravel 5.5 将在 Collections 类中新增两个全新方法,它们将使调试变得前所未有的轻松。这两个方法分别是 dd
和 dump
。
假设您有一个简单的集合设置,并将它通过一些过滤器进行管道处理
collect([1,2,3])->map(function($i){ return $i * 2;})->reject(function($i){ return $i < 3;});
了解链条中每一步发生了什么可能很困难,现在您可以选择在某个点“dump”它,或者“dump and die”。例如
collect([1,2,3])->map(function($i){ return $i * 2;})->dump()->reject(function($i){ return $i < 3;});
dump() 在该时刻输出结果,然后继续处理,以下是运行该代码时的结果
Collection {#181 ▼ #items: array:3 [▼ 0 => 2 1 => 4 2 => 6 ]}
另一方面,dd() 会立即停止进程并输出结果
collect([1,2,3])->map(function($i){ return $i * 2;})->dd()->reject(function($i){ return $i < 3;});
结果如下
array:3 [▼ 0 => 2 1 => 4 2 => 6]
这些功能将受到 Laravel 5.5 的欢迎,如果您想立即开始使用这些功能,Spatie 发布了一个名为 Collection Macros 的第三方包,该包包含这两个方法和一些额外的帮助程序。