Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Symfony Grundkurs

Wozu dient die Web Debug Toolbar?

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Mit der Web Debug Toolbar werden ausführliche Meldungen über eventuell auftretende Fehler zurückgegeben.
06:01

Transkript

Ein besonders praktisches Hilfsmittel beim Arbeiten mit Symfony ist die Debug Toolbar, die Sie hier herunten sehen. Die taucht dann auf, wenn ich mir quasi im Developer-Modus eine Seite anschaue. Und das ist jetzt die Seite, die als Erstes gerendert wird, und wie Sie an diesem grünen Feld hier erkennen, ist die Debug Toolbar mit dieser Seite absolut zufrieden. Es wird hier im grünen Bereich der HTTP-Status zurückgegeben und 200 ist eben der, dass alles passt und alles in Ordnung ist. Und was Sie hier zusätzlich bekommen, sind jetzt die Informationen, welcher Controller mit welcher Aktion dafür zuständig ist, und zu welchem Bundle dieser Controller überhaupt gehört. Den Namen der Route, das heißt, ich könnte die Seite dann auch intern anders ansprechen, und der Hinweis, dass es hier keine Sessions gibt. Diese Debug Toolbar beinhaltet noch andere Informationen, zum Beispiel die Versionsnummer, und wenn man drüberfährt, gibt es dann eben noch zusätzliche Informationen zu PHP. Was auch interessant ist, und fürs Testen sehr praktisch ist, es wird hier die Zeit angegeben, die die Seite zum Rendern braucht. Ist aber mit seinen 2 ms durchaus okay, und würde ich mit Benutzerprofilen arbeiten, wäre dieser Bereich auch einer, der sehr interessant ist, weil es da um die Benutzer, die die Seite betrachten, geht und was man davon sieht. Gut, jetzt wissen wir, wie die Debug Toolbar ausschaut, wenn alles in Ordnung ist, also sorgen wir dafür, dass nicht mehr alles in Ordnung ist. Und ich habe jetzt einen Controller in meinem eigenen Bundle, wo die Route zu einer "hallo"-Unterseite führt. Normalerweise sollte ich noch einen Namen als Variable mitgeben, das mache ich jetzt aber mal ganz bewusst nicht. Und schon sehen Sie, dass die Toolbar nicht mehr ganz so zufrieden ist. Hier wird rot angezeigt, wie viele Fehler aufgetaucht sind. Das ist ein Fehler, aber es ist ein ziemlich massiver Fehler, nämlich ein HTTP 404-Fehler. Ein 404-Fehler sagt, dass die Seite eben nicht gefunden werden kann, und das ist wohl nicht von der Hand zu weisen, weil diese reine "/hallo"-Seite, die gibt es ja gar nicht. Sondern, wenn wir einen Blick auf besagten Controller werfen wollen, dann müsste die Seite "/hallo/" heißen, und dann müsste ihr mit einem GET-Befehl eine Variable übergeben werden. Wenn ich also hier dann "/rudi" wähle, dann ist alles in Ordnung. Die Seite wird gerendert, auch die Toolbar verschwindet. Was passiert aber, wenn sich tatsächlich Fehler in meinem Controller befinden? Ich könnte zum Beispiel sagen, dass ich jetzt nicht dafür sorge, dass der Array ausgegeben wird, sondern, wenn ich einfach nur meine Index-HTML ausgegeben bekommen möchte, und zwar die, die hier in meiner eigenen "view" in "Default" liegt. Also diese Index-Datei, die ja jetzt darauf angewiesen ist, dass ihr eine Variable übergeben wird. Ich speichere mit Strg+S diesen veränderten Eintrag und wechsle zurück in meine Ansicht. Und wenn ich jetzt die Seite neue laden lasse, dann habe ich hier auch wieder meine Debug Toolbar und den Hinweis, dass hier etwas nach wie vor nicht stimmen kann. Und es ist dieses mal ein HTTP-Status, der mit der Zahl "500" betitelt wird, also ein interner Server-Fehler. Und hier bekomme ich jetzt tatsächlich auch schon gesagt, worum es sich bei dem Fehler handelt; nämlich, dass diese Variable nicht im entsprechenden Paket so existiert. Und das ist jetzt zwar die Hauptmeldung, aber Sie sehen, dass hier noch einige zusätzliche Meldungen zur Verfügung stehen, die man sich dann, wenn man das "Plus" klickt, anzeigen lassen kann. Aber wir wissen ja schon, wo der Fehler tatsächlich liegt. Hier sehen Sie aber, dass zu mindestens der Versuch des Routings ganz gut funktioniert, weil die Route wird richtig angegeben. Gut, anders könnte der Fehler noch aussehen und zwar, wenn ich zwar hier die richtige Ausgabe wähle, aber vergesse dieses Bundle einzubinden. Mit Strg+X tue ich es mal weg, weil, was ich hier heroben habe, dass ist mit dem "use"-Befehl das Einbinden von zusätzlichen Bundles. Und das Bundle, was ich da jetzt gerade dabei hatte, und das ich jetzt weggenommen habe, sorgt dafür, dass ich diesen Template-Eintrag hier machen kann; der jetzt, so nicht mehr wahrgenommen werden kann. Mit Strg+S speichere ich wieder, wechsle zurück in meinen Browser, erneuere meine Seite, und bekomme jetzt wieder eine sehr ausführliche Meldung. Ich habe jetzt zwar die Toolbar nicht, bekomme aber hier gesagt, dass es sich wieder um einen Code mit dem 500er-Bereich handelt, also einen internen Server-Fehler; bekomme aber dann hier tatsächlich eine ziemlich gute Erklärung, was fehlt, inklusive einem Handlungsvorschlag. Das fasziniert mich besonders, nämlich: "Did you maybe forget to add a 'use' statement for this annotation?" Und genau das haben wir ja getan. Das heißt, mit Hilfe der Debug-Möglichkeiten von Symfony, kann man ziemlich schnell auf diese klassischen Fehler hingewiesen werden und bekommt sehr ausführliche Mitschriften dessen, was da gerade schiefgelaufen ist, und sogar Hinweise, worin der Lösungsansatz liegen könnte.

Symfony Grundkurs

Steigen Sie in die moderne und flexible PHP-Entwicklung mit dem praktischen Framework ein.

2 Std. 35 min (34 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Ihr(e) Trainer:
Erscheinungsdatum:18.01.2017
Laufzeit:2 Std. 35 min (34 Videos)

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!