即將到來的 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:
本作品採用《CC 協議》,轉載必須註明作者和本文連結