看到站內兩個大神的文章PHP 全域性使用 Laravel 輔助函式 dd和更好的 Debug 函式 dd => dda有所啟發,才寫下這篇文章。
第一次寫文章,如果有哪裡不對的地方,請指出,謝謝各位。
我們都知道在Laravel的時候使用dd()
除錯很方便,但是我們有時候需要的並非Eloquent資料而是需要一個陣列形式的。
而且dd()
函式原本是支援多個變數傳入的。
在研究了上面兩個文章後,自己有需要輕量級的方便列印而又不破壞dd原本的含義情況下的加強版。程式碼如下:
if (!function_exists('da')) {
/**
* @param mixed $args
*/
function da(...$args)
{
foreach ($args as $x) {
if (method_exists($x, 'toArray')) {
$x = $x->toArray();
}
(new \Illuminate\Support\Debug\Dumper)->dump($x);
}
}
}
if (!function_exists('dad')) {
/**
* @param mixed $args
*/
function dad(...$args)
{
da(...$args);
die(1);
}
}
da()
姑且稱為dump()
、toArray()
的簡寫。dad()
姑且稱為dump()
、toArray()
、die()
的簡寫。
如有哪裡不對,請各位指出。