转储或 dd laravel 在结果之前添加字符时出错

2022-08-30 23:38:28

laravel中的所有请求和转储都在结果之前添加一个^,这只在dd或duction中这样做

exemple of error

exemple dd Request:all()

这种效果在我的代码上产生了很多错误,有人过去了一些这样的错误吗?


答案 1

我在 laravel 框架 Lumen (5.8.12) 上遇到了同样的问题,我通过返回到版本 5.8.4 解决了这个问题。

问题的起源似乎是Symfony VarDumper Component(\vendor\symfony\var-dumper\Cloner\Data.php第302行):

$dumper->dumpScalar($cursor, 'default', '^');

应该是:

 $dumper->dumpScalar($cursor, 'default', '');

更新

它存在是有一个有用的原因。在终端中,如果您将鼠标悬停在该标志上,它将显示此转储来自何处的文件路径!我认为这确实是一件有用的事情,但我没有看到它在浏览器中工作。因此,它应该从borwser中删除或在那里解决问题。^


答案 2

对于简单变量,读取输出应该很简单。以下是一些示例,首先显示了在PHP中定义的变量,然后是其转储表示形式:检查此链接以获得更好的参考

例如:

 $var = [
'a simple string' => "in an array of 5 elements",
'a float' => 1.0,
'an integer' => 1,
'a boolean' => true,
'an empty array' => [],
 ];
 dump($var);

灰色箭头是一个切换按钮,用于隐藏/显示嵌套结构的子级。

$var = "This is a multi-line string.\n";
$var .= "Hovering a string shows its length.\n";
$var .= "The length of UTF-8 strings is counted in terms of UTF-8 characters.\n";
$var .= "Non-UTF-8 strings length are counted in octet size.\n";
$var .= "Because of this `\xE9` octet (\\xE9),\n";
$var .= "this string is not UTF-8 valid, thus the `b` prefix.\n";
dump($var);

class PropertyExample
{
public $publicProperty = 'The `+` prefix denotes public properties,';
protected $protectedProperty = '`#` protected ones and `-` private ones.';
private $privateProperty = 'Hovering a property shows a reminder.';
}

$var = new PropertyExample();
dump($var);

推荐