Adventskalender Tag 2 – PHP Debuggen in der Browser-Console

Es gibt diverse Libraries und Tutorials im Netz um das Debuggen aus PHP heraus in die Console des Browsers zu verlagern. Nicht selten kommen dabei recht komplexe Lösungen heraus, die ab und an auch Mehrwert darstellen, nicht selten aber wird mit Kanonen auf Spatzen geschossen.
Gerade beim Debuggen in UIs, beim Kunden ist die Ausgabe in der Konsole ein Vorteil, da UIs nicht verändert werden und Kunden nichts mitbekommen, auch ohne die Abfrage der Rechte.

debug-in-console

Eine einfache und schnelle Möglichkeit möchte ich hier als Snippet abwerfen, die mir als Alltagslösung vollkommen ausreicht. Die Lösung kann in den Tools der gängigen Major Browsern genutzt werden und ebenso im Add on Firebug für den Firefox, wie die folgenden Screenshots aufzeigen.

Javascript und PHP

Die Console nutz die Javascript Funktion console() in allen Major Browsers um Inhalte in ihr auszugeben. Insofern nutze ich eine kleine Funktion debug_to_console(), die dieses Script in PHP ausspuckt und die Inhalt via Variable übergibt. Die Funktion sollte nicht schwer im Verständnis sein und via Variable $data werden die zu debuggenden Inhalte an die Console übergeben.

[/crayon]

debug-in-console-ff

Die Ausgabe ist mit verschieden Typen möglich, ebenso mit Arrays und Objekten. Die kleine Helferfunktion habe ich unter anderem im WordPress Plugin Debug Objects hinterlegt. Wer dieses Plugin in seiner Entwicklungsumgebung aktiv hat, muss sich daher nicht kümmern, einfach nutzen.

Freu dich auf morgen. Dann bringt dir der MarketPress-Adventskalender: ein kleines Code-Snippet.

Beitrag teilen

Author Avatar

Alpinist, Cyclist, Optimist. Ich schaffe und supporte Lösungen, vorrangig mit SAP Business Software als Software Architekt bei der Carl Zeiss AG und ich helfe Unternehmen bei dem Erstellen von WordPress basierender Software und Lösungen mit dem großartigem Team der Inpsyde GmbH.

Auch interessant:

WooCommerce Wochenrückblick #32: Woo 3.1, Live Chats und Snippet Tutorials

von Michael Firnkes

Die neue WooCommerce-Version verbessert hauptsächlich den Import und Export von Produkten. Und: Live Chats können - richtig eingesetzt - deinen Umsatz an ...

Weiterlesen

Wir suchen Verstärkung: WordPress PHP Entwickler/in in Dresden oder Homeoffice

von Michael Firnkes

MarketPress wächst, dank unserer WooCommerce-Suite German Market. Wir suchen dich - um diesen Erfolg weiterzuführen, und zur Entwicklung neuer Produkte. ...

Weiterlesen

WooCommerce Wochenrückblick #29: Beliebteste Zahlungsarten und sinnvolle Produktauswahl

von Michael Firnkes

Kauf auf Rechnung ist beliebter, als gedacht. Und zu viele Produkte können deine Kunden auch verwirren - wenn sie schlecht präsentiert werden. Dies und m ...

Weiterlesen

WooCommerce 3.0: Neue Galerie für Produktbilder, mehr Geschwindigkeit und Update-Hinweise

von Michael Firnkes

Das Team von WooCommerce hat die Version 3.0 seines extrem erfolgreichen Onlineshop-Systems veröffentlicht. Das Release läuft unter dem Namen "Bionic But ...

Weiterlesen

Kommentare

6 Kommentare

  1. #1

    Ein schönes kleines Snippet. Ich nutze für solches Debugging meistens FirePHP, da es auch andere Ausgabeformate wie beispielweise Tabellen anbietet. Aber für das kleine Debugging zwischendurch (Cross-Browser) reicht dein Snippet vollkommen aus und ist allemal besser als eine Ausgabe direkt in den Inhalt, wie es leider noch immer viele machen (und dann vergessen den ganzen Code wieder zu entfernen).

  2. #3

    Hm, ChromePHP kannte ich auch noch nicht. Wäre aber toll, wenn das kompatibel zu FirePHP ist, damit man nicht verschiedene Debugger in Teams einsetzen muss. Einige Entwickler bei uns arbeiten nämlich noch immer lieber mit Firefox. Oder ich schreibe einfach ne Wrapper-Klasse, die dann die passende Library benutzt.

  3. #5

    Ich habe mit ChromePHP bzw. Chrome Logger mal angesehen. Leider ist es nicht kompatibel mit FirePHP und der Entwickler hat auch nicht vor das zu ändern. Er beschreibt selbst, dass er zur Ablage der Daten Cookies verwendet, die aber einer Größenbegrenzung unterliegen. Man kann also nicht so große Objekte debuggen, wie mit anderen Tools.

    Ich setze daher schon eine Zeit lang Webug ein. Damit kann ich auf dem Server weiterhin FirePHP verwenden und jeder Entwickler kann dann entweder in Firefox oder eben in Chrome die Debugging-Daten auf der Konsole ausgeben lassen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Du kannst folgende HTML Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Abonniere unseren Newsletter

Trage hier deine E-Mail Adresse ein, damit du unseren Newsletter abonnieren kannst.