如何在浏览器中获取展开的数组,并在Laravel中转储(默认)

jyztefdp  于 2023-03-19  发布在  其他
关注(0)|答案(1)|浏览(120)

我怎样才能让laravel dump把多维数组的内容以展开的状态(不是折叠的)立即输出到浏览器?我知道我可以按Ctrl+Click,但是我希望数组在默认情况下是展开的。我可能需要设置一个Var-dumper。但是我怎样在Laravel中做呢?
我试过一些办法,但都不管用

use Symfony\Component\VarDumper\Cloner\VarCloner;
use Symfony\Component\VarDumper\Dumper\CliDumper;

$cloner = new VarCloner();
$dumper = new CliDumper();
$cloner->setMaxItems(-1);
$cloner->setMinDepth(1000);
$cloner->setMaxString(10000);
$dumper->dump($cloner->cloneVar(['one', 'two', 'three' => ['one', 'two']]));
dump(['one', 'two', 'three' => ['one', 'two']]);
dnph8jn4

dnph8jn41#

不幸的是,这不是在Laravel,但你可以使用Tampermonkey(浏览器扩展)来做这件事。
安装Tampermonkey〉点击扩展图标〉创建新脚本〉更改下面的@match以匹配您的域名〉保存。重新加载您的页面,您应该可以开始了-我已经使用您的代码进行了测试,它工作得很好。

// ==UserScript==
// @name         Expand `dd` Symfony's VarDumper Component
// @description  see: https://laracasts.com/discuss/channels/general-discussion/expanding-dd-vardumper-by-default
// @author       curtisblackwell
// @match      https://your-domain.test/
// ==/UserScript==

(function() {
    'use strict';
    var compacted = document.querySelectorAll('.sf-dump-compact');

    for (var i = 0; i < compacted.length; i++) {
        compacted[i].className = 'sf-dump-expanded';
    }

})();

相关问题