Ich bin ziemlich neu im Plugin-Authoring und hatte Probleme beim Debuggen.
Ich habe viel Echo benutzt und es ist schlampig und hässlich.
Ich bin sicher, es gibt einen besseren Weg, dies zu tun, vielleicht eine IDE mit einem Debugger, mit dem ich die gesamte Site einschließlich des Plugins ausführen kann.
plugins
debug
plugin-development
Sruly
quelle
quelle
WP_DEBUG
, wie von John empfohlen, auf "false" setzen, erhalten Sie eine ziemlich gute Vorstellung davon, was in Ihren Skripten, wenn überhaupt, schief läuft. Anschließend können Sie in Dreamweaver bearbeiten, Strg + S und dann F5 im Browser drücken, um die Änderungen sofort anzuzeigen.Antworten:
Gehe in die wp-config.php und wechsle
define('WP_DEBUG', false);
zudefine('WP_DEBUG', true);
. Installieren Sie auch Andrew Nacins Plugin " Log Deprecated Notices" .quelle
Wenn Fehler ausgegeben werden, ist x-debug eine brillante PHP-Erweiterung, die PHP moderne Backtraces hinzufügt.
Wenn Sie versuchen, herauszufinden, was los ist, wenn keine Fehler vorliegen, besteht mein bevorzugter Ansatz darin, eine Funktion zu definieren, die die Ausgabe in einer Datei protokolliert. Also plog ich ($ variable) und das erscheint in der Logdatei, die ich dann untersuchen kann. Dies ist besonders nützlich, wenn Sie herausfinden möchten, was passiert ist, bevor header () aufgerufen wird, oder wenn Sie nicht in STDOUT drucken können.
quelle
Verwenden Sie xdebug + NetBeans IDE. Bei vollständiger Konfiguration - was einfach zu tun ist - können Sie Haltepunkte in Ihrem Plugin setzen und Variablen an den Haltepunkten beobachten. Ich denke, es ist der beste Weg, um Plugins oder PHP-Anwendungen für diese Angelegenheit zu debuggen.
quelle
Ich debugge die altmodische Art
error_log()
und Weise, ing undvar_dump
ing. Ich bin der Meinung, dass dies der effizienteste Weg für mich ist. Ich habe ein paar Wrapper-Funktionen, um mit verschiedenen Arten von Datenerror_log
umzugehen , da Arrays und Objekte sehr schmerzhaft sein können. Die Verwendung vonprint_r()
in kann außerdem schwierig sein, zu lesen, wenn es sich nicht in a befindet<pre>
. Ich habetj_log()
für die Fehlerprotokollierung undtj()
zum Anzeigen der Ausgabe (die im Grunde jeden Datentyp in einer anzeigbaren Weise zeigt:Also mache ich einfach:
tj( $current_user );
oder was auch immer.quelle
Nachdem ich an einer Reihe von IDEs herumgebastelt hatte, entschied ich mich für einfaches altes Notepad ++ mit einem ultra-angepassten Syntax-Hervorhebungs-Farbschema.
Ich habe ein Makro so eingerichtet, dass wenn ich Shift-Ctrl-X drücke, der folgende Code dort ausgegeben wird, wo sich mein Cursor befindet:
Es ist einfach, aber ich kann im Allgemeinen 90% meiner Fehler mit diesem Makro und aktiviertem WP_DEBUG aufspüren.
quelle
print_r($var, true)
stattvar_dump
.Ich habe eine kleine Klasse geschrieben, um ein Logfile zu erstellen. Dies ist sehr nützlich, wenn Sie Ajax-Aufrufe debuggen.
http://github.com/hunk/Magic-Fields/blob/master/tools/debug.php
Sie müssen nur Folgendes tun:
Debug :: log ("Dies ist eine Debug-Meldung");
Wenn diese Zeile ausgeführt wird, wird eine Nachricht in die Protokolldatei eingefügt. Anschließend können Sie den Befehl tail verwenden (wenn Sie ein Betriebssystem im Unix-Stil verwenden).
tail -f mylogfile.log
Wenn Sie dieser Funktion auch ein Array oder ein Objekt übergeben können.
Beachten Sie , dass Sie die Zeile 20 für einen Pfad ändern müssen, in dem Sie Ihre Protokolldatei speichern möchten
quelle
Ich benutze Aptane IDE unter Linux und UltraEdit unter Windows, und dieses hat auch einen PHP-Parser. Außerdem zeige ich alle Hinweise von xDebug mit der in
WP_DEBUG
definierten Konstante anwp-config.php
.Sehen Sie sich auch meinen Beitrag zu diesem Thema an, und freuen Sie sich über Kommentare und Feedback zu Ihren Entwicklungstools.
quelle
Ich empfehle dir FirePHP . Sie können Debug-Informationen über HTTP-Header an Firefoxs Firebug senden, was in der Regel zu einer saubereren Debug-Ausgabe führt.
quelle
Nicht so schlimm: Eclipse Es ist in der Nähe von PhpStorm + kostenlos.
quelle
Es gibt zwei IDEs, die ich empfehlen kann, und ich habe beide ausgiebig verwendet: PhpED (nur Windows) und PhpStorm + XDEBUG (Mac, Windows und Linux). Ich bin jetzt auf dem Mac und kann nur letzteres verwenden.
Beide ROCK! Die gute Nachricht ist, dass PhpStorm vor September 2010 49 US-Dollar und danach nur noch 99 US-Dollar kostet. Wenn ich unter Windows wäre und erneut wählen müsste, bin ich mir nicht sicher, welche ich wählen würde.
Ehrlich gesagt kann ich nicht anders, als das Gefühl zu haben, dass jeder Plugin-Entwickler, der keines dieser beiden Tools verwendet, schwerwiegende Behinderungen hat, insbesondere, wenn er noch relativ neu in der Entwicklung von WordPress-Plugins ist.
quelle
Krumo - die gestylte PHP-Debug-Klasse
Eine andere wirklich schöne Sache ist die "krumo" PHP-Klasse. Es ist in einer halben Minute implementiert und bietet eine einfache Möglichkeit, alle Arten von Variablen zu debuggen:
Außerdem hilft es beim Zurückverfolgen, zeigt geladene Klassen oder eingeschlossene Dateien und alles auf Anfrage.
Plus es ist KOSTENLOS!
Herunterladen
Krumo @sourceforge
quelle
Ich verwende ein 13-Dollar-Plugin namens LogPress, das Sie bei ThemeForest kaufen können, und es ist ein absolutes Geschenk Gottes. Sie können alles bezüglich der Plugins und der Site debuggen. Unterstützt die Protokollierung von Firebug-Konsolen und vieles mehr. Ich kann nicht ohne leben, so oft benutze ich dieses Plugin.
Dieses Plugin ist wahrscheinlich das beste Geld, das ich je ausgegeben habe und es hat unzählige Stunden in meiner Wordpress-Plugin-Entwicklung gespart.
quelle
Ich verwende phpED und xdebug, aber für mich (und anscheinend für jemanden anderen) ist es unmöglich, die Plugins oder die Datei des Themas zu debuggen! Der Debugger stoppt nur an den Haltepunkten, die sich in den Haupt- oder Original- "Kern" -Dateien befinden! kann mir jemand helfen?
quelle
Erstens füge ich
define('WP_DEBUG', false);
der wp-config.php-Datei (wie die meisten Leute gesagt haben) meine lokale Installation hinzu, bei der es sich um eine aktuelle Kopie einer relevanten Produktionsstätte handelt (sowohl Dateien als auch Daten). Dies macht Dinge schnell, sicher und getrennt, spiegelt aber gut mindestens einen Ort wider, an dem das Plugin tatsächlich verwendet wird.Ich füge auch das Debug-Leisten- Plugin zusammen mit einigen der Debug-Leisten-Add-Ons (z. B. Transients) hinzu - entsprechend Ihren Plugins.
Ich verwende auch das Firebug-Add-on für Firefox, das sich hervorragend dazu eignet, HTML-, CSS- und JavaScript-Probleme aufzuspüren und sich auch mit der Unheimlichkeit des Layouts zu befassen.
Ich codiere mit UltraEdit, das ich seit mehr als 15 Jahren für eine ganze Reihe von Codierungen (PHP bis SQL) bei der Arbeit und zu Hause verwendet habe. Das funktioniert gut für mich, aber ich habe möglicherweise nicht genug, um es als IDE zu bewerten viele Leute. Es verfügt über Syntaxhervorhebungs-, automatische Vervollständigungs- und Code-Layout-Funktionen sowie eine Reihe von HTML- und CSS-Verknüpfungswerkzeugen, mit denen Tippfehler vermieden werden können. Meistens bringt mir dies Vertrautheit, was ein wichtiger Aspekt ist, der in der Eile zum Neuen oft übersehen wird. Das Muskelgedächtnis unterstützt die Wiederholbarkeit auch bei der Codierung.
Und natürlich habe ich normalerweise eine geeignete Seite aus dem Codex in einem anderen Tab auf einem geeigneten Exemplar geöffnet.
Dies alles hilft auf unterschiedliche Weise, Codierungs-, Analyse-, Funktions- und Layoutfehler hervorzuheben, und beeinträchtigt nicht viel, wie ich codiere oder ob nichts falsch ist. Die meisten können für eine Weile ignoriert oder deaktiviert werden, wenn Sie experimentieren oder an etwas arbeiten, das Sie später noch einmal überprüfen werden.
Oh, und es ist nichts falsch an einem gut positionierten Echo oder print_r, um etwas an einer Taste zu überprüfen (solange Sie sie entfernen, wenn Sie fertig sind).
quelle
Check out Query Monitor in Kombination mit Query Monitor Extend für ein umfassendes Debugging von WordPress (PHP-Fehler / Hinweise / Einschränkungen / Warnungen, Datenbankabfragen, Pfade, Konstanten, HTTP-Anforderungen, Transienten, Sitzungsvariablen, Var-Dumps).
Lesen Sie auch Alle Post-Meta- und Was-Speichern- Plugins, um spezifische Informationen zu Posts zu erhalten.
quelle
PHPStorm und Xdebug sind für mich ein Spiel, das sich für die Entwicklung von WordPress ändert. Ich kann es jetzt nur wärmstens empfehlen. Speziell mit ihren Inline-Debug-Tools.
quelle