Laravel 輔助函式 dd 加強篇

asundust發表於2018-09-04

看到站內兩個大神的文章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()的簡寫。

如有哪裡不對,請各位指出。

相關文章