Shopware Knowledgebase

Shopware Labs

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 Kommentare

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

Waren diese Informationen hilfreich? Ja Nein


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


Die mit einem * markierten Felder sind Pflichtfelder.

Weitere interessante Artikel:

Bezeichnung:
Rating:
Klicks:
Datum:

Bestell-Nr.: SW1447

Lieferzeit ca. 5 Tage

€ 1,00

Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*

€ 1,00

Preise inkl. gesetzlicher
MwSt. + Versandkosten*

Kategorien: