Wie var_dump Variablen in Zweigvorlagen?
View-Schicht-Muster, wo man nur präsentieren, was Sie erhalten haben ist in Ordnung und alle, aber wie wollen Sie wissen, was verfügbar ist? Gibt es eine "Liste aller definierten Variablen" Funktionen in TWIG? Gibt es eine Möglichkeit, dump eine variable?
Die Lösung, die ich gesucht es war so definieren Sie eine Funktion, wo ich meine vorhandene php-debug-tools von die Injektion einer Funktionaber alle Referenzen, die ich gefunden habe, umfasst diese schöne zwei Zeilen code, aber nirgendwo ist angegeben, wo Sie zu platzieren. Going durch die Tatsache, dass Sie brauchen eine $loader variable definiert, ich habe versucht, /app/config/autoload.php aber die $loader-es war die falsche Art. Wohin muss ich den php-code für das hinzufügen eines Zweig-Funktion?
InformationsquelleAutor der Frage Alexander Morland | 2011-09-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als der Zweig, der 1.5, die richtige Antwort ist, verwenden Sie die dump-Funktion. Es ist vollständig dokumentiert in der Zweig-Dokumentation. Hier ist die Dokumentation zu ermöglichen, diese in Symfony2.
InformationsquelleAutor der Antwort Icode4food
Können Sie die
debug
tag, das ist dokumentiert hier.Edit: Wie der Zweig, 1.5 ist veraltet und durch das neue ersetzt
dump
- Funktion (Hinweis, es ist jetzt eine Funktion, und nicht mehr ein tag). Siehe auch: Die akzeptierte Antwort oben.InformationsquelleAutor der Antwort igorw
So, ich habe es funktioniert, teilweise ein bisschen hackish:
twig: debug: 1
imapp/config/config.yml
Hinzufügen config_dev.yml
sudo rm -fr app/cache/dev
print_r()
öffnete ichvendor/twig-extensions/lib/Twig/Extensions/Node/Debug.php
und verändertprint_r(
zud(
PS. Ich würde noch gerne wissen, wie/wo zu greifen, die $twig-Umgebung hinzufügen-Filter und-Erweiterungen.
InformationsquelleAutor der Antwort Alexander Morland
Wenn Sie mit Zweig in Ihrer Anwendung als Komponente Sie dies tun können:
Dann in Ihre Vorlagen:
InformationsquelleAutor der Antwort Julio
Wenn Sie einen Zweig als eigenständige Komponente ist hier einige Beispiel, wie um das debugging zu aktivieren, da es unwahrscheinlich ist, dass der dump(variable) - Funktion funktioniert direkt aus der box
Standalone
Diese wurde gefunden auf dem link von icode4food
Silex
InformationsquelleAutor der Antwort Carlton
{{ dump() }}
bei mir nicht funktioniert.PHP
drosseln. Schachtelungsebene zu tief denke ich.Alles, was Sie wirklich brauchen, um
debug
Twig-templates wenn Sie eindebugger
ist eine Erweiterung wie diese.Dann ist es nur eine Frage der Einstellung einen Haltepunkt und ruft
{{ inspect() }}
wo Sie es brauchen. Erhalten Sie die gleichen Infos wie mit{{ dump() }}
aber in deinem debugger.InformationsquelleAutor der Antwort Christian Fecteau
Sichern Sie alle benutzerdefinierten Variablen:
Können Sie eigene plugins, die das für Sie tun (eine wird schön formatieren der Ausgabe):
Zweig, Müllkippe, Bar
InformationsquelleAutor der Antwort kapitalny
Seit Symfony >= 2.6, es gibt einen schönen VarDumper Komponente, aber es ist nicht von der Zweig ist
dump()
Funktion.Überschreiben, erstellen wir eine Erweiterung:
In der folgenden Implementierung, vergessen Sie nicht zu ersetzen namespaces.
Fuz/AppBundle/Resources/config/services.yml
Fuz/AppBundle/Twig/Extension/DebugExtension.php
InformationsquelleAutor der Antwort Alain Tiemblo
Das komplette Rezept hier für schnellere Referenz (beachten Sie, dass alle Schritte sind obligatorisch):
1) beim instanziieren Zweig, der, vorbei an der debug-option
2) hinzufügen der debug-Erweiterung
3) Verwenden Sie es wie @Hazarapet Tunanyan darauf hingewiesen,
oder
oder
InformationsquelleAutor der Antwort Tudor Ilisoi
Für debugging-Twig-templates können Sie die debug-Anweisung.
Dort können Sie die debug-Einstellung explizit.
InformationsquelleAutor der Antwort Raffael
Können Sie Bearbeiten
und ändern
the var_dump()
Funktionen\Doctrine\Common\Util\Debug::dump()
InformationsquelleAutor der Antwort user3420644
können Sie dump - Funktion und drucken Sie es wie diese
aber es ist eine nette Sache, auch wenn Sie nicht ein argument, um dump-Funktion, es wird gedruckt, alle Variablen vorhanden sindwie
InformationsquelleAutor der Antwort Hazarapet Tunanyan
Als die meisten PHP-Programmierer verwenden gerne XDebug tatsächlich Schritt durch den code und beobachten von Variablen ändern, in Echtzeit, mit
dump()
fühlt sich wie ein Schritt zurück zu den schlechten alten Tagen.Deshalb habe ich einen Zweig Debug-Erweiterung und legen Sie es auf Github.
https://github.com/delboy1978uk/twig-debug
composer require delboy1978uk/twig-debug
Dann fügen Sie die Erweiterung. Wenn Sie nicht mit Symfony, wie diese:
Wenn man, wie dies in Ihre Dienste YAML config:
Sobald Sie registriert sind, können Sie jetzt tun, die irgendwo in einem twig-template:
Nun, können Sie mit XDebug, die Ausführung wird angehalten, und Sie können sehen, all die Eigenschaften sowohl der Kontext und die Umgebung.
Spaß haben! 😀
InformationsquelleAutor der Antwort delboy1978uk