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

简单介绍

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

Route::get('/collection', function ()
{
    $result = collect([1,2,3])
            ->map(function($i){
                return $i * 2;
            })
            ->reject(function($i){
                return $i < 3;
            });
    dd($result);
});

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

Route::get('/collection', function ()
{
    $result = collect([1,2,3])
            ->map(function($i){
                return $i * 2;
            })
            ->dump()
            ->reject(function($i){
                return $i < 3;
            });
    dd($result);
});

dump 输出结果,然后程序会继续执行下去:

Collection {#174 ▼
  #items: array:3 [▼
    0 => 2
    1 => 4
    2 => 6
  ]
}
Collection {#180 ▼
  #items: array:2 [▼
    1 => 4
    2 => 6
  ]
}

dd 执行之后会立即输出结果并停止进程:

Route::get('/collection', function ()
{
    $result = collect([1,2,3])
            ->map(function($i){
                return $i * 2;
            })
            ->dd()
            ->reject(function($i){
                return $i < 3;
            });
    dd($result);
});
array:3 [▼
  0 => 2
  1 => 4
  2 => 6
]

学习地址:http://coding.iwanli.me/course/video-10.html


Source: http://blog.iwanli.me/article/KVNgz97o.html

Leave a comment