Laravel 辅助函数 dd 加强篇 函数包 2020-02-03
看到站内两个大神的文章PHP 全局使用 Laravel 辅助函数 dd和更好的 Debug 函数 dd => dda有所启发,才写下这篇文章。
第一次写文章,如果有哪里不对的地方,请指出,谢谢各位。
2020-02-03更新:函数现已开发成扩展包 包地址 GITHUB地址
composer require asundust/helpers
2019-08-28更新:①增加了移动端适配的打印;②由于Laravel5.7框架开始移除了\Illuminate\Support\Debug\Dumper
类,换成了Symfony\Component\VarDumper\VarDumper
类,目前在Laravel5.7下也是兼容的。
我们都知道在Laravel的时候使用dd()
调试很方便,但是我们有时候需要的并非Eloquent数据而是需要一个数组形式的。
而且dd()
函数原本是支持多个变量传入的。
在研究了上面两个文章后,自己有需要轻量级的方便打印而又不破坏dd原本的含义情况下的加强版。代码如下:
if (!function_exists('da')) {
/**
* dd打印封装 不断点
* 如果能转成toArray()则转成数组
*
* @param mixed $args
*/
function da(...$args)
{
$varDumper = new Symfony\Component\VarDumper\VarDumper;
foreach ($args as $x) {
if (method_exists($x, 'toArray')) {
$x = $x->toArray();
}
$varDumper->dump($x);
}
}
}
if (!function_exists('dad')) {
/**
* dd打印封装 并断点
* 如果能转成toArray()则转成数组
*
* @param mixed $args
*/
function dad(...$args)
{
da(...$args);
die(1);
}
}
if (!function_exists('ma')) {
/**
* 移动版dd打印封装 不断点
* 如果能转成toArray()则转成数组
*
* @param mixed $args
*/
function ma(...$args)
{
echo '<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">';
da(...$args);
}
}
if (!function_exists('mad')) {
/**
* 移动版dd打印封装 并断点
* 如果能转成toArray()则转成数组
*
* @param mixed $args
*/
function mad(...$args)
{
ma(...$args);
die(1);
}
}
da()
姑且称为dump()
、toArray()
的简写。dad()
姑且称为dump()
、toArray()
、die()
的简写。ma()
姑且称为移动端
、toArray()
的简写。mad()
姑且称为移动端
、toArray()
、die()
的简写。
如有哪里不对,请各位指出。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: