前沿
一直想知道 laravle 的数据打印 dump() 和 dd() 是怎么实现的,怎么那么好用,经过一番查找终于找到啦
先来个 github 地址 https://github.com/symfony/var-dumper
然后我先来看看效果
怎么样,是不是很漂亮呀
好啦,下面进入正题
安装
$ composer require symfony/var-dumper
使用
我们都知道,安装了composer的包之后,是要自动导入才可以使用的,很简单,一句代码的事情:
require __DIR__.'/vendor/autoload.php';
也就是说,在你项目想要使用的地方,加入以上代码就可以了,然后可以直接使用 dump(); 和 dd(); 这个方法。当然,如果你觉得打印出来的样式你不喜欢,可以自己自行更改。这个文件:
Dumper/HtmlDumper.php
推荐安装方式
全局安装
$ composer global require symfony/var-dumper;
配置 php.ini
在php.ini中找到auto_prepend_file,然后写上你相对应的路径,比如像下面这样的:
auto_prepend_file = C:\Users\Administrator\AppData\Roaming\Composer\vendor\autoload.php
这个参数会全局自动加载你指定的文件。
注:修改了php.ini记得重启Apache或者php-fpm
更新composer
$ composer global update
改名
如果 dump() 和 dd() 和你的自定义方法有冲突,可以修改
找到文件
\vendor\symfony\var-dumper\Resources\functions\dump.php
自己改成想要的名字就好了
控制台打印
上面说了 Symfony VarDumper,下面我们来说说在浏览器控制台打印数据了
在控制台打印数据最大的好处我想就应该是保证页面的整洁了吧,不会显示乱七八糟的东西
定义函数
if (!function_exists('console')) {
function console(...$vars)
{
$str = '<script>';
foreach ($vars as $v) {
$str .= 'console.log('.json_encode($v,JSON_UNESCAPED_UNICODE).')';
}
$str .= '</script>';
echo $str;
}
}
为了方便全局使用,我们可以把此函数放入上面的 dump.php 中
这其实就是用了 js 的 console.log() 函数而已,很方便,也不会影响到页面。
下面就来看看效果图吧
怎么样,是不是也挺好用的呢,快来试试吧
