gpt4 book ai didi

laravel - 为什么Laravel dd只显示两个级别?

转载 作者:行者123 更新时间:2023-12-02 04:28:38 25 4
gpt4 key购买 nike

当我在Laravel中使用dd($myVar)时,输出仅显示两个级别。这是为什么?

第一级显示为展开状态,我可以单击以展开第二级。第三层简单地用array:2概括(对于具有两个元素的任何数组)。

编辑:

我注意到var_dump()的输出同样受到限制。我将xdebug深度设置更改为10,ini_set('xdebug.var_display_max_depth', 10),它解决了var_dump而不是dd的问题。

最佳答案

最简单的方法是使用ctrl+click扩展所有子级,甚至可以使用ctrl+F搜索值和变量

如果不合适,则可以根据xdebug配置设置创建自己的帮助器。添加一个新文件“helpers.php”,然后使用composer.json自动加载

"autoload": {
"files": [
"app/helpers.php"
]
}

我使用了一个匿名类,您可以创建一个专用类来清理/重用代码

use Symfony\Component\VarDumper\Dumper\CliDumper;
use Symfony\Component\VarDumper\Cloner\VarCloner;
use Illuminate\Support\Debug\HtmlDumper;

function xdebug_dd(...$args)
{
http_response_code(500);

$obj = new class {
public function dump($value)
{
if (class_exists(CliDumper::class)) {
$dumper = new HtmlDumper;

$dumper->dump((new VarCloner)->cloneVar($value), null, [
'maxDepth' => ini_get('xdebug.var_display_max_depth')
]);
} else {
var_dump($value);
}
}
};


foreach ($args as $x) {
$obj->dump($x);
}

die(1);
}

关于laravel - 为什么Laravel dd只显示两个级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51181575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com