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年前 自动加精
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5

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

6年前 评论
rovast

这就很6了:smile:

6年前 评论
王老板的前端

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

6年前 评论

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

6年前 评论

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

6年前 评论

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