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.