Laravel 5.5 中 Collections 支持了 DD 和 Dump

翻译 shanhuhai 179℃ 0评论

Laravel 5.5 中给 Collections 类引入了两个新方法,使得调试比以前更方便了,他们是 dddump

假设你有一个简单的 collection 加了一些过滤条件。

collect([1,2,3])->map(function($i){
    return $i * 2;
})->reject(function($i){
    return $i < 3;
});

想知道在链式表达中每一步都发生了什么是很困难的,现在你可以选择在哪个节点上将数据“dump” 出来,或者 “dump 并 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的第三方软件包,其中包含这两种方法和一些其他辅助功能。

翻译至:DD and Dump Are coming to Collections in Laravel 5.5

转载请注明:大后端 » Laravel 5.5 中 Collections 支持了 DD 和 Dump

喜欢 (4)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址