Eine hübschere / informativere Var_dump-Alternative in PHP? [geschlossen]
130
Jeder anständige PHP - Programmierer hat ein print_roder var_dumpWrapper sie verwenden, Liebe und assign Shortcut - Tasten auf, warum wir nicht unsere Lieblinge teilen .
Ich benutze nur Echo '<pre>'; print_r ($ var); exit; Ich schließe es nicht einmal. Ich denke, ich bin nicht anständig
Funky Dude
Ich habe den Link so bearbeitet, dass er auf Github verweist, wo ich die Kint-Entwicklung fortsetze. Wenn Sie immer noch Probleme damit haben, lassen Sie es mich bitte auf irgendeine Weise wissen.
Raveren
1
Hey, Kint ist cool! Es hat mir nur den Tag gerettet.
István Ujj-Mészáros
2
Warum ist eine Frage, die zu 100% eine Werbebotschaft eines Programms ist, in einer "Ich mache meine eigene var_dump ()" - Version? Die erste Frage wäre, warum eine Produktwerbung als Frage erlaubt ist.
m3nda
11
Weil ich das Tool mehr als ein Jahr später gemacht habe, nachdem ich die Frage gestellt hatte. Ich weiß nicht, was Sie stört. Ich habe ein ausgereiftes Open-Source-Tool mit mehr als 10.000 Zeilen erstellt und verbessere es Jahre später ständig. Ich habe meine eigene Antwort auf die Frage gegeben - wie es in SO Tradition ist.
Raveren
Antworten:
70
Ein volles Jahr Zeit und Arbeit, nachdem ich dies gefragt habe, habe ich endlich meine Version von var_dump, Kint, als Open-Source-Version bereitgestellt. Lesen Sie darüber auf der Projektseite oder direkt in Github .
Hier ist ein Screenshot:
Entschuldigung für den Stecker :)
BEARBEITEN: Ich möchte die Kommentatoren nur daran erinnern, dass dies kein Support-Forum ist. Wenn Sie Probleme haben oder eine Funktion wünschen, reichen Sie bitte ein Problem ein . Support, der Kommentare anfordert, wird zum Löschen markiert.
Ich musste die Schriftgröße ändern und den CSS-Code verschönern, aber gute Arbeit, ich mag es ... von einem langjährigen Krumo-Benutzer
Quamis
1
Welche Änderungen haben Sie vorgenommen? Wenn Sie glauben, dass es sich um eine Verbesserung handelt, können Sie mir die Änderungen an [email protected]
raveren
Ich war an Krumo gewöhnt und wollte kleinere Schriftarten. Außerdem habe ich den CSS-Code verschönert. Nichts, was als tatsächliche Verbesserung bezeichnet werden kann, eher wie eine alte Gewohnheit :)
Quamis
Nun, die Idee war, dass das CSS zusammen mit dem js komprimiert werden soll, um die tatsächliche Ausgabe so wenig wie möglich zu stören. Natürlich war auch ein ziemliches Einrücken der generierten Quelle geplant, aber ich habe derzeit keine Zeit, mich Kint zu widmen.
Raveren
2
Nur als Beispiel zeigt Kint geschützte und private Variablen an, wenn Sie ein Objekt sichern, krumo nicht (da nur die ersteren Reflexionsklassen verwenden, nehme ich an). Im Allgemeinen fand ich Kint überlegen; obwohl ich auch das CSS optimieren musste, um es benutzerfreundlicher zu machen (diese riesige Schriftart funktioniert nicht sehr gut, wenn Tonnen verschachtelter Objekte ausgegeben werden). Oh und der Code dahinter ist kein Chaos, etwas, was man von Krumo nicht sagen kann (sorry Krumo-Autor!)
Mahn
45
Ich bevorzuge die var_dumpFunktion, wie sie von der Xdebug-Erweiterung bereitgestellt wird : Installieren Sie einfach die Erweiterung (einfach, sowohl unter Windows als auch unter Linux) und erhalten Sie var_dumpeine bessere Ausgabe:
besser formatieren
HTML
Farben
und Sie haben Optionen, um festzulegen, wie viele Informationen angezeigt werden sollen
Und ein kurzer Screenshot:
Und natürlich bringt Xdebug eine Menge anderer nützlicher Dinge mit, wie Remote-Debugging (dh grafisches Debuggen Ihrer PHP-Anwendung, zum Beispiel in Eclipse PDT) , Profiling, ...
Ich muss diese xdebug-Formatierungsklasse in einem gemeinsam genutzten Host verwenden. Gibt es eine Möglichkeit, es in mein persönliches Projekt aufzunehmen?
Anyul Rivas
1
Wenn Sie nicht Administrator (root) des Servers sind, werden Sie wahrscheinlich nicht in der Lage sein wird , eine PHP - Erweiterung zu installieren (ich habe noch nie einen Shared - Hosting - Service zu sehen , die man installieren würde PHP - Erweiterungen zu installieren) ; Nein, Sie können Xdebug nicht verwenden (die Installation auf einem Produktionsserver ist im Allgemeinen keine gute Idee: Es handelt sich schließlich um eine Debugging-Erweiterung) . Sie müssen auf eine PHP-basierte Implementierung einer Funktion zur Ausgabe von Variablen zurückgreifen (siehe einige andere Antworten)
Pascal MARTIN
1
Ja, ich brauchte nur die Klasse, um mir eine Ausgabe zu senden, wenn ein Fehler auftritt.
Ich liebe diese Funktion - einfach und klar und habe ich schon sehr einfach erwähnt :)
derekdreery
Vielen Dank. Ich benutze es die ganze Zeit. Sollte wirklich in PHP eingebaut sein. Mit dem zweiten Parameter können Sie Ihre eigene Formatierung vornehmen. zB echo $ hübsch ($ some_variable, "-");
Guillermo Phillips
7
Dies kombiniert wunderbar die schlechtesten Funktionen von print_r, var_dump und var_export. Kein HTML-Escapezeichen, akzeptiert nur einzelne Parameter, hängt an der Rekursion, kann keine Ausgabe zurückgeben, und nur um das Ganze abzurunden , ist es völlig unlesbar . Ich möchte kein Arschloch sein, aber die Kommentare lassen es einfach so perfekt erscheinen.
Raveren
Vielen Dank für Ihren Kommentar @Raveren. Wenn Sie genauer sein könnten, werde ich meine Antwort verbessern.
Guillermo Phillips
2
IMO ist die beste einzeilige Lösung einfach function pretty(){echo'<pre>';foreach(func_get_args()as $arg){ob_start();var_dump($arg);echo htmlentities(ob_get_clean())."\n#####\n#####\n\n";}die;}. Var_dump ist eine sehr ausführliche Funktion, die alle PHP-Randfälle (von denen es LOTS gibt) behandelt und zu 100% stabil ist, obwohl sie nicht so lesbar ist. Aber am Ende des Tages, wenn Sie feststellen, dass Ihre Implementierung für Sie am besten ist, sollten Sie sie auf jeden Fall verwenden.
Raveren
16
Sie suchen nach Krumo ( Warnung, Chrome-Warnungen für Malware ).
Einfach ausgedrückt ist Krumo ein Ersatz für print_r () und var_dump (). Per Definition ist Krumo ein Debugging-Tool (zunächst für PHP4 / PHP5, jetzt nur für PHP5), das strukturierte Informationen zu jeder PHP-Variablen anzeigt.
Drücken Sie Strg + Umschalt + J (öffnet die Konsole) und Sie finden dort die JSON-Struktur. Noch nützlicher für einen hübschen Ausdruck von JSON-Antworten.
Eigentlich nicht schlecht. Wäre wahrscheinlich mehr gewählt worden, wenn Sie ein Beispiel für die Ausgabe gezeigt hätten.
Mawg sagt, Monica wieder
@acSlater Funktioniert für mich, Sie müssen nur die sbwDebugKlasse erstellen, die er vergessen hat zu posten, und die Funktion darin einfügen .
Dennis98
6
Ich habe kürzlich eine kostenlose Chrome-Erweiterung (in Arbeit) entwickelt, um meine Var-Dumps ohne Bibliotheken, ohne Pre-Tags und ohne Installation für jede einzelne App zu verschönern. Alles erledigt mit JavaScript und regEx. Alles was Sie tun müssen, ist die Erweiterung zu installieren und los geht's. Ich arbeite auch an einer Firefox-Version. Hier ist die GitHub-Seite. Ich hoffe, es bald in den Chrome- und Firefox-Webstores verfügbar zu haben!
Diese schicken Bibliotheken sind großartig ... außer dem Overhead. Wenn Sie einen einfachen, hübschen var_dump möchten, der unendlich viele Parameter akzeptiert, probieren Sie meine Funktion aus. Es fügt einfaches HTML hinzu. Datenattribute werden ebenfalls hinzugefügt. Wenn Sie HTML5 verwenden, werden sie von niedrigeren Versionen einfach ignoriert, aber es ist einfach, Elemente in der Browserkonsole zu öffnen und ein wenig mehr Informationen zu erhalten, wenn das, was Sie auf dem Bildschirm sehen, nicht ausreicht.
Das Layout ist sehr einfach, kein Overhead. Bietet eine Menge Informationen für jeden Parameter, einschließlich Dinge wie gettypeund sogar classNamen für Objektspeicherauszüge (einschließlich XML). Es hat sich bewährt, ich benutze es seit Jahren.
Und wenn Sie Codeigniter verwenden, fügen Sie es auch EXTREM EINFACH zu Ihrem CI hinzu. Gehen Sie zuerst zu application/config/autoload.phpund stellen Sie sicher, dass das eingeschaltet helper'string'ist.
$autoload['helper']= array('string');
Erstellen Sie dann einfach eine Datei mit dem Namen MY_string_helper.phpin application/helpersund fügen Sie die Funktion einfach in eine typische ifAnweisung zur Existenzprüfung ein.
<?php if(!defined('BASEPATH'))exit('No direct script access allowed');if(!function_exists('preDump')){function preDump(){...}}// DON'T CLOSE PHP
| ODER |, wenn Sie eine andere Richtung einschlagen möchten.
Das folgende Snippet ist das gleiche wie oben, außer dass Ihre Variablen in der Browserkonsole angezeigt werden. Dies kann manchmal das Debuggen von SQL-Objektaufrufen und anderen Array- und Objektaufrufen erleichtern, bei denen der Schlüsselname oder was auch immer fehlt.
function consoleDump(){// use string "noEcho" to just get a string return only
$args = func_get_args();
$doEcho = TRUE; $sb;if($args){
$sb ='<script type="text/javascript">console.log("<" + new Array('.(count($args)<10?'49':'48').').join("-") + "[consoleDump: '.count($args).' items]" + new Array(50).join("-") + ">"); console.log([';foreach(func_get_args()as $i => $arg){if(gettype($arg)=='string')if($arg =='noEcho'){ $doEcho = FALSE; $sb = preg_replace('/(consoleDump: )[0-9]+/','consoleDump: '.(count($args)-1), $sb);continue;}
$sb .='{ "type": "'.gettype($arg).'", ';switch(gettype($arg)){case"boolean":case"integer":case"string":
$sb .='"value": '.json_encode($arg);break;default:
$sb .='"value": '.json_encode($arg);if(is_object($arg)|| is_array($arg)) $sb .=', "count": '.json_encode(count((array)$arg));if(is_object($arg)) $sb .=', "objectClass": "'.get_class($arg).'"';}
$sb .='}';if($i < count($args)-1) $sb .=', ';}
$sb .=']); console.log("<" + new Array(120).join("-") + ">"); </script>';}else{
$sb ='<script type="text/javascript">console.log("<" + new Array(120).join("-") + ">");console.log("consoleDump: [ERROR] No Parameters Found");console.log("<" + new Array(120).join("-") + ">");</script>';}if($doEcho) echo($sb);return $sb;}
Funktioniert mit allem!
consoleDump($simpXMLvar, $_SESSION, TRUE, NULL, array('one'=>'bob','two'=>'bill'),(object)array('one'=>'bob','two'=>'bill'));<------------------------------------------------[consoleDump:6 items]------------------------------------------------->[Object,Object,Object,Object,Object,Object]// This drops down to show your variables in JS objects, like:0:Object
count:4
objectClass:"SimpleXMLElement"
type:"object"value:Object
__proto__:Object// ...etc...<----------------------------------------------------------------------------------------------------------------------->
Warum sollte man sich über vernachlässigbare Leistungseinbußen in einem Entwicklungstool Sorgen machen? Diese Funktion ist buchstäblich echo '<pre>';var_dump($var);echo '</pre>';plus Text mit null Wertschöpfung.
Raveren
@ Raveren ja außer preDump('value', TRUE, array( 'bob => 'bill' ), (object)array( 'bob => 'bill' )' is quick and easy and gives a nice layout visually in the browser that shows each variable passed in it's own "area" with a type label, thus making debugging quick and easy. And since it's a snippet i keep in my IDE's toolbox, i can recall it with ease on any needed page or while working with any library. But sure, it's just an Echo 'pre'; var_dump` mit einigen simple htmlum ihn herum, kein 0-wertschöpfender Text. lol kik. Wenn es dir nicht gefällt, benutze es nicht. Nur ein Vorschlag.
SpYk3HH
@ Raveren Und wenn dir das gefallen hat ... du wirst mein Update wirklich lieben: P
SpYk3HH
1
PHP Array Beautifier Dieses einfache Tool verwendet eine in PHP ausgegebene Array- oder Objektausgabe, z. B. eine print_r () - Anweisung, und formatiert sie in Farbcodierung, um Ihre Daten leicht lesen zu können.
http://phillihp.com/toolz/php-array-beautifier/
Ich denke gerne, dass es ziemlich flexibel ist. Es zielt nicht auf eine bestimmte Ausgabeumgebung ab, verfügt jedoch über eine Reihe optionaler Argumente, mit denen Sie angeben können, warum die Ausgabe / der Druck oder das Verhalten geändert werden sollen, sowie über einige dauerhafte Einstellungen.
Grundsätzlich wird das gesamte Array ausgegeben, wobei sich jedes Element in einer separaten Zeile befindet. Dies ist hilfreich, um die richtigen vollständigen Pfade für bestimmte Elemente zu finden.
Ich bin überrascht, dass niemand den einfachsten (wenn auch nicht sehr hübschen) Code erwähnt hat. Wenn Sie wollen einfach nur eine lesbare Ausgabe (keine Farben oder Vertiefung) zu erhalten, eine einfache <pre>um ein var_dumpWerk, wie in:
Die Demo ist kaputt, obwohl der Code auf GitHub verfügbar ist
Mawg sagt, dass Monica
0
Ich bevorzuge das Debuggen von https://github.com/hazardland/debug.php , einer Bibliothek, die nur eine einzige Funktion enthält, die als Debug bezeichnet wird (Sie können diese Funktion einfach in Ihr Projekt oder in Ihre Bibliothek kopieren) . Die typische HTML-Ausgabe von debug () sieht folgendermaßen aus:
Sie können Daten jedoch auch als einfachen Text mit derselben Funktion (mit 4 durch Leerzeichen eingerückten Registerkarten) wie folgt ausgeben (und sie bei Bedarf sogar in einer Datei anmelden):
string:"Test string"boolean:true
integer :17float:9.99
array (array)
bob :"alice"1:52:1.4object(test2)
another (test3)
string1 :"3d level"
string2 :"123"
complicated (test4)
enough :"Level 4"
Dies ist ein großartiges Tool, das die fehlerhafte PHP-Funktion ersetzen soll var_dump und print_rdie rekursiv referenzierten Objekte in einer komplexen Objektstruktur korrekt identifizieren kann. Es hat auch eine rekursive Tiefensteuerung, um eine unbestimmte rekursive Anzeige einiger besonderer Variablen zu vermeiden.
Für andere alternative Lösungen , die mehr Vorteile gegenüber sehen var_dumpund print_rund kann zirkuläre Verweise unterstützen, überprüfen Sie bitte: Mit print_r und var_dump mit zirkulärer Referenz .
Ich musste hier eine weitere Antwort hinzufügen, weil ich die Schritte in den anderen Lösungen nicht wirklich durchgehen wollte. Es ist extrem einfach und erfordert keine Erweiterungen, enthält usw. und ist das, was ich bevorzuge. Es ist sehr einfach und sehr schnell.
Zuerst einfach json_encode die fragliche Variable:
echo json_encode($theResult);
Kopieren Sie das Ergebnis, das Sie erhalten, in den JSON-Editor unter http://jsoneditoronline.org/. Kopieren Sie es einfach in den linken Bereich, klicken Sie auf Kopieren> und es druckt den JSON in einem wirklich schönen Baumformat.
Jedem sein eigenes, aber hoffentlich hilft dies einigen anderen, eine weitere nette Option zu haben! :) :)
Antworten:
Ein volles Jahr Zeit und Arbeit, nachdem ich dies gefragt habe, habe ich endlich meine Version von var_dump, Kint, als Open-Source-Version bereitgestellt. Lesen Sie darüber auf der Projektseite oder direkt in Github .
Hier ist ein Screenshot:
Entschuldigung für den Stecker :)
BEARBEITEN: Ich möchte die Kommentatoren nur daran erinnern, dass dies kein Support-Forum ist. Wenn Sie Probleme haben oder eine Funktion wünschen, reichen Sie bitte ein Problem ein . Support, der Kommentare anfordert, wird zum Löschen markiert.
quelle
Ich bevorzuge die
var_dump
Funktion, wie sie von der Xdebug-Erweiterung bereitgestellt wird : Installieren Sie einfach die Erweiterung (einfach, sowohl unter Windows als auch unter Linux) und erhalten Sievar_dump
eine bessere Ausgabe:Und ein kurzer Screenshot:
Und natürlich bringt Xdebug eine Menge anderer nützlicher Dinge mit, wie Remote-Debugging (dh grafisches Debuggen Ihrer PHP-Anwendung, zum Beispiel in Eclipse PDT) , Profiling, ...
quelle
Ich habe mein eigenes geschrieben: REF ( Demo ):
Es ist geplant, nur Text-Rendering hinzuzufügen und Informationen über den Eingabeausdruck anzuzeigen, wie es Kint tut ...
quelle
dll
werde ich dieses "Debug" verwenden. Danke und gute Arbeit!Hier ist meine, die ich inline benutze, sehr nützlich:
quelle
function pretty(){echo'<pre>';foreach(func_get_args()as $arg){ob_start();var_dump($arg);echo htmlentities(ob_get_clean())."\n#####\n#####\n\n";}die;}
. Var_dump ist eine sehr ausführliche Funktion, die alle PHP-Randfälle (von denen es LOTS gibt) behandelt und zu 100% stabil ist, obwohl sie nicht so lesbar ist. Aber am Ende des Tages, wenn Sie feststellen, dass Ihre Implementierung für Sie am besten ist, sollten Sie sie auf jeden Fall verwenden.Sie suchen nach Krumo ( Warnung, Chrome-Warnungen für Malware ).
quelle
I Liebe FirePHP und Firebug
quelle
Ich habe dBug verwendet, das Coldfusions fantastisches
cfdump
Tag emuliert :http://dbug.ospinto.com/examples.php
quelle
Meine (teilweise) Lösung hierfür ist das einfache Hinzufügen einer solchen Funktion (mit Google Chrome):
Drücken Sie Strg + Umschalt + J (öffnet die Konsole) und Sie finden dort die JSON-Struktur. Noch nützlicher für einen hübschen Ausdruck von JSON-Antworten.
quelle
Ein vollständiges Beispiel für das, was ich benutze ...
Ausgänge ...
quelle
Hier ist mein:
Gestylt mit:
quelle
sbwDebug
Klasse erstellen, die er vergessen hat zu posten, und die Funktion darin einfügen .Ich habe kürzlich eine kostenlose Chrome-Erweiterung (in Arbeit) entwickelt, um meine Var-Dumps ohne Bibliotheken, ohne Pre-Tags und ohne Installation für jede einzelne App zu verschönern. Alles erledigt mit JavaScript und regEx. Alles was Sie tun müssen, ist die Erweiterung zu installieren und los geht's. Ich arbeite auch an einer Firefox-Version. Hier ist die GitHub-Seite. Ich hoffe, es bald in den Chrome- und Firefox-Webstores verfügbar zu haben!
https://github.com/alexnaspo/var_dumpling
Hier ist eine Beispielausgabe:
quelle
Tracy hat eine schöne zusammenklappbare Ausgabe mit der Funktion dump () .
quelle
Diese schicken Bibliotheken sind großartig ... außer dem Overhead. Wenn Sie einen einfachen, hübschen var_dump möchten, der unendlich viele Parameter akzeptiert, probieren Sie meine Funktion aus. Es fügt einfaches HTML hinzu. Datenattribute werden ebenfalls hinzugefügt. Wenn Sie HTML5 verwenden, werden sie von niedrigeren Versionen einfach ignoriert, aber es ist einfach, Elemente in der Browserkonsole zu öffnen und ein wenig mehr Informationen zu erhalten, wenn das, was Sie auf dem Bildschirm sehen, nicht ausreicht.
Das Layout ist sehr einfach, kein Overhead. Bietet eine Menge Informationen für jeden Parameter, einschließlich Dinge wie
gettype
und sogarclass
Namen für Objektspeicherauszüge (einschließlich XML). Es hat sich bewährt, ich benutze es seit Jahren.Und wenn Sie Codeigniter verwenden, fügen Sie es auch EXTREM EINFACH zu Ihrem CI hinzu. Gehen Sie zuerst zu
application/config/autoload.php
und stellen Sie sicher, dass das eingeschaltethelper
'string'
ist.Erstellen Sie dann einfach eine Datei mit dem Namen
MY_string_helper.php
inapplication/helpers
und fügen Sie die Funktion einfach in eine typischeif
Anweisung zur Existenzprüfung ein.| ODER |, wenn Sie eine andere Richtung einschlagen möchten.
Das folgende Snippet ist das gleiche wie oben, außer dass Ihre Variablen in der Browserkonsole angezeigt werden. Dies kann manchmal das Debuggen von SQL-Objektaufrufen und anderen Array- und Objektaufrufen erleichtern, bei denen der Schlüsselname oder was auch immer fehlt.
Funktioniert mit allem!
quelle
echo '<pre>';var_dump($var);echo '</pre>';
plus Text mit null Wertschöpfung.preDump('value', TRUE, array( 'bob => 'bill' ), (object)array( 'bob => 'bill' )' is quick and easy and gives a nice layout visually in the browser that shows each variable passed in it's own "area" with a type label, thus making debugging quick and easy. And since it's a snippet i keep in my IDE's toolbox, i can recall it with ease on any needed page or while working with any library. But sure, it's just an
Echo 'pre'; var_dump` mit einigensimple html
um ihn herum, kein 0-wertschöpfender Text. lol kik. Wenn es dir nicht gefällt, benutze es nicht. Nur ein Vorschlag.PHP Array Beautifier Dieses einfache Tool verwendet eine in PHP ausgegebene Array- oder Objektausgabe, z. B. eine print_r () - Anweisung, und formatiert sie in Farbcodierung, um Ihre Daten leicht lesen zu können. http://phillihp.com/toolz/php-array-beautifier/
quelle
Noch eine einheimische Version:
http://github.com/perchten/neat_html
Ich denke gerne, dass es ziemlich flexibel ist. Es zielt nicht auf eine bestimmte Ausgabeumgebung ab, verfügt jedoch über eine Reihe optionaler Argumente, mit denen Sie angeben können, warum die Ausgabe / der Druck oder das Verhalten geändert werden sollen, sowie über einige dauerhafte Einstellungen.
quelle
Hier ist eine Chrome-Erweiterung, die ich geschrieben habe, um dieses Problem zu lösen.
https://chrome.google.com/webstore/detail/varmasterpiece/chfhddogiigmfpkcmgfpolalagdcamkl
quelle
Ich habe eine Chrome-Erweiterung und ein JQuery-Plugin entwickelt , um var_dumps zu verschönern
https://github.com/netfox01/fleX-debug
quelle
Wenn Sie mit sehr großen Arrays in PHP arbeiten, kann diese Funktion helfen:
Grundsätzlich wird das gesamte Array ausgegeben, wobei sich jedes Element in einer separaten Zeile befindet. Dies ist hilfreich, um die richtigen vollständigen Pfade für bestimmte Elemente zu finden.
Beispielausgabe:
Siehe: Wie exportiere ich ein PHP-Array, bei dem sich jedes Schlüssel-Wert-Paar in einer separaten Zeile befindet?
quelle
Ich bin überrascht, dass niemand den einfachsten (wenn auch nicht sehr hübschen) Code erwähnt hat. Wenn Sie wollen einfach nur eine lesbare Ausgabe (keine Farben oder Vertiefung) zu erhalten, eine einfache
<pre>
um einvar_dump
Werk, wie in:Viel geringer kann der Overhead nicht sein!
quelle
Ich habe eine kleine Klasse geschrieben, die Krumo ähnelt, aber viel einfacher in die App einzubetten ist.
Hier ist der Link: https://github.com/langpavel/PhpSkelet/blob/master/Classes/Debug.php
Und hier Beispielausgabe: http://langpavel.php5.cz/debug_sample.html
quelle
Ich bevorzuge das Debuggen von https://github.com/hazardland/debug.php , einer Bibliothek, die nur eine einzige Funktion enthält, die als Debug bezeichnet wird (Sie können diese Funktion einfach in Ihr Projekt oder in Ihre Bibliothek kopieren) . Die typische HTML-Ausgabe von debug () sieht folgendermaßen aus:
Sie können Daten jedoch auch als einfachen Text mit derselben Funktion (mit 4 durch Leerzeichen eingerückten Registerkarten) wie folgt ausgeben (und sie bei Bedarf sogar in einer Datei anmelden):
quelle
TVarDumper
Dies ist ein großartiges Tool, das die fehlerhafte PHP-Funktion ersetzen soll
var_dump
undprint_r
die rekursiv referenzierten Objekte in einer komplexen Objektstruktur korrekt identifizieren kann. Es hat auch eine rekursive Tiefensteuerung, um eine unbestimmte rekursive Anzeige einiger besonderer Variablen zu vermeiden.Siehe :
TVarDumper.php
.Für andere alternative Lösungen , die mehr Vorteile gegenüber sehen
var_dump
undprint_r
und kann zirkuläre Verweise unterstützen, überprüfen Sie bitte: Mit print_r und var_dump mit zirkulärer Referenz .Weitere Ideen finden Sie auch unter: Wie debuggen Sie PHP-Skripte?
quelle
Meins ist einfacher, für mich habe ich nicht viel Wissen / Zeit, um die Infrastruktur zu ändern, installiere xdebug usw. usw.
Und in anderen Fällen brauchen Sie zum Beispiel nicht viel für eine einfache WP-Website
Also benutze ich:
das hilft mir wirklich sehr.
Aber weil ich die DevConsole-Umgebung bevorzuge, verwende ich diese fantastische, aber einfache Funktion:
https://codeinphp.github.io/post/outputting-php-to-browser-console/
Kleiner Tweak:
quelle
Eine andere Option ist zu
Dann verwenden Sie in Ihrer Datei nur
dump($var)
und Sie erhalten eine Ausgabe wie diesequelle
Ich musste hier eine weitere Antwort hinzufügen, weil ich die Schritte in den anderen Lösungen nicht wirklich durchgehen wollte. Es ist extrem einfach und erfordert keine Erweiterungen, enthält usw. und ist das, was ich bevorzuge. Es ist sehr einfach und sehr schnell.
Zuerst einfach json_encode die fragliche Variable:
Kopieren Sie das Ergebnis, das Sie erhalten, in den JSON-Editor unter http://jsoneditoronline.org/. Kopieren Sie es einfach in den linken Bereich, klicken Sie auf Kopieren> und es druckt den JSON in einem wirklich schönen Baumformat.
Jedem sein eigenes, aber hoffentlich hilft dies einigen anderen, eine weitere nette Option zu haben! :) :)
quelle