1) lokal oder remote? Ich verstehe, dass die beste Vorgehensweise für das Debuggen darin besteht, eine lokale Version Ihrer Website zu haben, aber manchmal kann es sehr zeitaufwändig sein, eine lokale Version Ihrer aktuellen Website zu erstellen, insbesondere wenn die Website veröffentlicht wurde und Sie nur ein paar Änderungen vornehmen möchten oder beheben Sie einige kleinere Probleme.
2) Aus dem oben genannten Grund debugge ich normalerweise direkt online. Hier ist ein typisches Szenario, auf das ich häufig stoße: Das Front-End meldet einen Fehler in Bezug auf eine PHP-Datei. Ich öffne die Datei und schaue auf die betreffende Zeile. Es handelt sich um eine Methode einer Klasse. Dann ichvar_dump
verwandte Variablen, um zu sehen, was falsch ist, mehr als oft hilft es nicht, dann gehe ich weiter in die Funktion ein, nur um herauszufinden, dass die fraglichen Variablen mit einem der Parameter der Funktion zusammenhängen. Um zu wissen, was genau der Parameter ist, muss ich herausfinden, wo diese Funktion aufgerufen wird. Hier steckte ich normalerweise fest, ich muss die Erweiterung oder sogar die gesamte Website auf lokal herunterladen und eine In-Text-Suche nach der Funktion in allen PHP-Dateien durchführen. Oft gibt es Dutzende von Aufrufen, ich muss sie einzeln ausprobieren, um zu sehen, welche das Problem verursachen. Mehr als oft führt dies zu einer anderen Funktion, bei der ich den obigen Vorgang erneut wiederholen muss. Diese Prozedur ist sehr zeitaufwändig und ich war oft frustriert und verwirrt. Ist es das, was jeder durchmacht?
Ich frage mich also, wie ein anspruchsvoller Joomla-Entwickler seine Website debuggen würde. Was ist die gängige Praxis dafür? Ich habe Joomla-Dokumentationen zum Debuggen gelesen und arbeite immer noch daran, eine Eclipse / Xdebug-Umgebung zu konfigurieren, aber ich denke, die obigen Fragen bleiben weiterhin bestehen.
Antworten:
Ich bin weit davon entfernt, ein hoch entwickelter Entwickler zu sein, und ich debugge auch auf Online-Sites.
Ich benutze dieses marmorierte Werkzeug
http://extensions.joomla.org/extension/j-dump
Es hat viele Vorteile gegenüber einem einzelnen var_dump. Hoffe es funktioniert auch bei dir.
quelle
Nun, meine persönliche Präferenz ist ... es hängt davon ab, was genau debuggt werden muss.
Wenn es sich um ein einfaches Element handelt, das aufgrund eines merkwürdigen CSS nicht richtig angezeigt wird, starte ich einfach die Live-Site, öffne Firebug und sortiere sie aus.
Wenn es sich um ein PHP- oder JS-Problem handelt, nehme ich normalerweise eine Kopie der Site und führe sie auf meinem lokalen Host aus. Dies ist immer der beste Ansatz, da Sie möglicherweise mit dem Testen des Codes für var-Dumping-Variablen beginnen möchten. Die Leute sollten dies nicht auf einer Live-Site sehen.
Außerdem kann es beim Debuggen häufig sinnvoll sein,
exit;
zu bestätigen, dass Code in bedingten Anweisungen funktioniert oder nicht. Wenn Sie dies verwenden (wie Sie wahrscheinlich bereits wissen), wird eine leere Site-Seite erstellt. Ein weiterer Grund, nicht auf einer Live-Site zu debuggen.Wenn Sie auf einen Punkt stoßen, an dem das Einrichten der Site auf Ihrem lokalen Host zu lange dauert, würde ich empfehlen, die Site vorübergehend in den Offline-Modus zu versetzen, bis sie behoben ist.
Ein Tipp für die Zukunft bei der Entwicklung einer Site ist, sie auf Ihrem lokalen Host aufzubauen und Joomlas Bericht in der globalen Konfiguration in Entwicklung zu ändern, damit alle Fehler angezeigt werden und behoben werden können, bevor Sie live schalten
quelle