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

Anleitung: Lebensmittelinformations-Verordnung (LMIV) mit WooCommerce umsetzen

von Michael Firnkes

Du verkaufst Lebensmittel in deinem Onlineshop? Dann musst du diese unter Umständen nach ganz bestimmten Regeln deklarieren. Wir zeigen dir, wie sich dies ...

Weiterlesen

WooCommerce Wochenrückblick #19: Google Analytics, kostenlose Themes und neue Kennzeichnungspflicht

von Michael Firnkes

Die Shop-Analyse ist wichtig, muss aber rechtlich abgesichert werden. Für WooCommerce gibt es neue Theme-Inspirationen und ein neues German Market. Dies u ...

Weiterlesen

Neues Plugin: Slack Connector - Verbinde WordPress, WooCommerce und Slack

von Michael Firnkes

Anfangs wollten wir lediglich unsere eigenen Slack-Prozesse optimieren. Mit automatisierten Benachrichtigungen aus dem MarketPress-Shop, dem Blog und unser ...

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.