Die fantastische Javascript-console
kann ganz wunderbar strukturierte Javascript-Informationen ausgeben. Mit einem relativ einfachen Trick kann sie auch strukturierte PHP-Daten (wie z.B. Arrays und Objekte) ausgeben.
Folgende PHP-Funktion kürzt diesen Prozess deutlich ab:
/**
* Debug PHP variable to browser console
* @param mixed $mixed [description]
*/
function console_log($mixed)
{
echo('<script>console.log(' . json_encode($mixed) . ');</script>');
}
Die Funktion erzeugt einfach das notwendige HTML, um den Inhalt des Parameters an die Console eines Browsers zu übergeben. Die strukturierten Daten sieht man dann beim nächsten Neuladen der betreffenden Seite. (Die Console öffnet man bei den meisten Browsern übrigens via F12
bzw. Ctrl+Shift+C
.)
In PhpStorm kann man auch ein Live-Template definieren, und dann mittels Ctrl+J
/ Ctrl+Alt+T
aufrufen:
echo('<script>console.log(' . json_encode($SELECTION$) . ');</script>');
Beispiel
So erzeugt der folgende Code…
$coords = Coordinates::set(40.7143528, -74.0059731, 10, 'New York City');
$coords2 = $coords->getRelativeCoordinates(1000, 45);
echo('<script>console.log(' . json_encode($coords2) . ');</script>');
…die folgende Ausgabe im Browser: