Collections 支持 dd 跟 dump 啦!( Laravel 5.5 新功能早知道)

file
即将到来的 Laravel 5.5 的 Collections 类上新增了两个方法 dd 和 dump,能让代码的调试变得比以前更加容易。:tada:

简单介绍

假设有一个简单的集合,需要使用几个方法过滤之后再输出:

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

在这种情况下,如果你想知道程序进行的每一步中会发生什么事情可能会很麻烦。可是现在!你可以选择在某一时刻「dump」出去,或者「dd」出去。 例如:

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() 会立即停止进程并「dump」出结果:

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 的第三方软件包,这里面包含了上述两种方法以及一些其他的辅助函数。Just enjoy IT! :rose:

参考链接:https://laravel-news.com/dd-and-dump-colle...

本作品采用《CC 协议》,转载必须注明作者和本文链接
Stay Hungry, Stay Foolish.
本帖由系统于 6年前 自动加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5

Collection 是 laravel 里面最好玩的东西之一。这样调试不用开 xdebug 或者想办法写条件 dd 了。

6年前 评论
rovast

这就很6了:smile:

6年前 评论
王老板的前端

5.5 的翻译文档贴,还像还没有出来。我继续等。:gift_heart:

6年前 评论

@zhuzhichao ,有个疑问,用习惯了laravel封装好的集合函数,发现都忘记了原生的php数组函数,咋办啊?

6年前 评论

@动感超波 没事看看源代码嘛!你点到 dd 函数里面,就可以看到原来也是用的 var_dumpdie 两个方法哦!

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!