Fehler beim Dump oder dd laravel beim Hinzufügen eines Zeichens vor dem Ergebnis


13

Alle Anfragen und Dumps in Laravel fügen vor einem Ergebnis ein ^ hinzu, das nur in dd oder dump

Beispiel eines Fehlers

Beispiel dd Anfrage: all ()

Dieser Effekt erzeugt eine Menge Fehler in meinem Code. Hat jemand solche hinter sich gelassen?


Ich habe es nicht.
Andy Song

Ich denke, ist eine Konfiguration auf Laravel, ich habe ein anderes Projekt auf dem gleichen Server, die das nicht zeigen
Guilherme Freire

Führen Sie eine Suche in Ihrem Projekt durch. Möglicherweise haben Sie diesen Charakter irgendwo fest codiert. Die meisten IDEs haben diese Funktion ( Find on Path...auf phpstorm)
porloscerros Ψ

Kann sich beziehen. Das Gleiche geschah gestern nach dem Update auf Laravel 6.2
z0mbieKale

1
Warum würde dies Fehler in Ihrem Code erzeugen? ddund dumpsind Debugging-Tools, sie sollten nicht im Produktionscode verwendet werden.
Stratadox

Antworten:


12

Ich hatte das gleiche Problem mit dem Laravel Framework Lumen (5.8.12) und löste das Problem, indem ich zu Version 5.8.4 zurückkehrte.

Der Ursprung des Problems scheint die Symfony VarDumper-Komponente zu sein ( \ vendor \ symfony \ var-dumper \ Cloner \ Data.php , Zeile 302 ):

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

Sollte sein:

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

-1

Bei einfachen Variablen sollte das Lesen der Ausgabe unkompliziert sein. Hier sind einige Beispiele, die zuerst eine in PHP definierte Variable und dann ihre Dump-Darstellung zeigen: Überprüfen Sie diesen Link auf eine bessere Referenz

Zum Beispiel:

 $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);

Der graue Pfeil ist eine Umschalttaste zum Ausblenden / Anzeigen von untergeordneten Elementen verschachtelter Strukturen.

$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);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.