Der Bereich Shopware Labs ist die Plattform für alle Entwickler. Hier findet man technische Dokumentationen und zahlreiche Tipps und Tricks rund um das Thema Programmieren. In dieser Rubrik stellen außerdem die Entwickler der shopware AG neue und experimentelle Lösungsansätze vor. Neue Funktionen, die in dieser Rubrik bereitgestellt werden, sind teilweise auch für zukünftige Releases geplant. Die Funktionen können dann ohne Programmierkenntnisse zukünftig direkt im Shopware Backend konfiguriert werden oder werden über Plugins bereitgestellt. Informationen über neue, geplante Funktionen finden Sie in unserer Roadmap.
Bitte beachten Sie, dass die hier bereitgestellten Lösungsansätze nicht offiziell supportet werden und nur eingebaut werden sollten, sofern Sie über das entsprechende, technische Wissen verfügen.
Debuggen / FirePHP mit Shopware 3.5.0
1 KommentareInhaltsverzeichnis
Vorbereitung
- Installieren Sie die Firefox Extension Firebug (www.getfirebug.com)
- Installieren Sie die Firefox Extension FirePHP (http://upgrade.firephp.org/) (Version 1.0 Beta)
- Aktivieren Sie die Plugins Log/Benchmark/BenchmarkEvents/Debug im Shopware Plugin-Manager
Debuggen mit Shopware 3.5.0
Wer kennt das Problem nicht? In einem der vielen Projekte welches man betreut, hat sich ein Fehler eingeschlichen. Diesen zu finden, ist oftmals langwierig und in Live-Systemen oft nicht umsetzbar. Wer möchte schon mit den üblichen Hilfsmitteln wie var_dump und print_r in einem Produktivsystem arbeiten? ;)
Schauen wir uns den üblichen Workflow an:
- Synchronisieren der aktuellen Live-Umgebung mit einem Entwicklungssystem
- Versuchen den Fehler zu reproduzieren
- Viewport / Part der Anwendung identifizieren
- Verantwortliche Funktion / Methode identifizieren
- Konkreten Fehler-Ursprung suchen / finden ;)
- Bugfix erstellen
- Qualitätsprüfung
- Synchronisieren mit Live-System
Nicht wenige Entwickler operieren auch regelmäßig am offenen Herzen, sprich der Fehler wird direkt im Live-Projekt behoben. Unpraktisch ist natürlich, wenn potentielle Kunden durch eventuelle Debug-Ausgaben vertrieben werden, oder aber der Shop kurzzeitig garnicht erreichbar ist.
Mit Shopware bieten wir hier einen deutlich eleganteren Weg, um Fehler schnell und einfach zu finden und zu beheben.
Alles, was Sie benötigen, ist die Firefox-Extension Firebug und die PHP-Erweiterung FirePHP.
Hierdurch ist es möglich auf Exceptions, PHP-Fehlermeldungen und andere Debug-Informationen zurückzugreifen, ohne das ein Dritter hiervon etwas mitbekommt. Alle Meldungen werden automatisch in die Firebug Konsole geschrieben.
Die Ausgabe lässt sich auf bestimmte IPs beschränken.
Um das Debugging zu aktivieren, müssen Sie nur die Plugins Debug / Benchmark / BenchmarkEvents im Shopware Plugin-Manager aktivieren.
Danach erhalten Sie nach jedem Seiten-Aufruf folgende Ausgabe in Firebug:
Screenshot Firebug
Benchmarking
Benchmark - Controller:
Übersicht über die Performance der Applikation:
Übersicht über die Zeit, die einzelne Plugins zur Ausführung benötigen:
Screenshot PHP - Errorhandler
Alle während der Laufzeit auftretenden PHP-Fehler werden ebenfalls in der Konsole
protokolliert. Der gesamte Aufrufstack bis zum Auftreten des Fehlers wird hierbei protokolliert.
Natürlich wird auch die genaue Zeile, in der der Fehler auftritt, reported.
Screenshot Exeptions
SQL - Profiling
Alle ausgeführten SQL-Abfragen werden protokolliert und sortiert nach Ausführungsgeschwindigkeit in der Konsole ausgegeben.
Verwendete Templates
Template - Variablen
Eigene Ausgaben / Dumps
Log / Dump
Mit der Funktion log können Sie Variablen, Arrays und Objekte an beliebigen Stellen im Code ausgeben.
Shopware()->Log()->log($VARIABLE ,Zend_Log::INFO);
Trace
Mit trace erhalten Sie ein Ablaufdiagramm Ihrer Software - es wird also ein Stack-Trace generiert, so dass man genau feststellen kann, ob und wie die Funktion aufgerufen wird.
Shopware()->Log()->trace('Bezeichnung');
Artikel-PDF erstellen
Artikel bewerten
Kommentare:
Shopware 3.5.6, FireFox 9, Firebug 1.9, FirePHP 0.6.2 - 22. January 2012 - 20:56 Uhr
Von: Markus Reich
o.g. Kombination funktioniert leider bei mir nicht! Es wird nichts in den Log geschrieben :-(
Artikel kommentieren
Weitere interessante Artikel:
Bestell-Nr.: SW1447
Lieferzeit ca. 5 Tage
Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*
Preise inkl. gesetzlicher
MwSt. + Versandkosten*
Kategorien:








