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:

International erfolgreich - so kannst du deinen Shop übersetzen lassen

von Tony Hoyer

Wer seine Produkte auch außerhalb Deutschlands verkaufen möchte, kommt um eine Übersetzung seines Shops nicht herum. Ich zeige dir verschieden Möglichk ...

Weiterlesen
wordcamp woocommerce

Unser Rückblick zum WordCamp Retreat in Soltau - Das neue Standardformat?

von Patrick Posner

Gerade noch war ich mit vielen tollen Menschen aus der Community im Gespräch - und schon schreibe ich meinen Recap zum WordCamp Soltau Retreat. Über eine ...

Weiterlesen
woocommerce automation

Personalisierte Kundenansprache und E-Mails mit WooCommerce

von Michael Firnkes

Je individueller deine Angebote für Interessenten und Kunden sind, umso mehr wirst du verkaufen. Wir zeigen dir einige spannende Ansätze zur segmentierte ...

Weiterlesen
woocommerce 3.3

WooCommerce 3.3: Bestellvorschau, Lieferrückstände und Theme-Support

von Michael Firnkes

In der neuen Version von WooCommerce verstecken sich zahlreiche Änderungen, die du gut kennen solltest - als Anwender aber auch als Entwickler von Plugins ...

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="">