Meine Frage: Wie erlaube ich die Verwendung von debug
in Twig-Vorlagen in Silex?
Ich spiele mit dem Silex-Mikroframework (ein PHP-Framework, das Symfony nutzt).
Wenn ich das Twig-Template-System damit verwendete, wollte ich ein bestimmtes Objekt ausgeben. Normalerweise würde ich dies mit var_dump($app);
und in Zweig mit {% debug app %}
machen.
Mein Problem ist es, mit Silex zu debuggen (und Silex's eigenes Debug auf true
einzustellen, hilft nicht mit Twig). Ein Aufruf von debug
führt standardmäßig zu einer Fehlermeldung:
Der Aufruf zum Debugging sieht folgendermaßen aus:
%Vor% Ich habe Hinweise gefunden, wie man die config.yml-Datei von Twig so konfiguriert, dass debug
korrekt verwendet wird, aber Silex keine Konfigurationsdatei für Twig verwendet.
Silex sagt, dass Sie Optionen festlegen können, indem Sie ein assoziatives Array an twig.options
übergeben und während Twig docs sagt, dass Sie eine Umgebungsoption wie folgt übergeben können:
Versuchen Sie, es in Silex wie folgt zu übergeben:
%Vor%Funktioniert nicht. Ist das die falsche Art von Option? Einfach falsche Formatierung? Ich habe keine Ahnung und nichts, was ich versucht habe funktioniert.
Ich spüre, wie ich in den "Wheel Spinning" Modus komme, also frage ich hier auf SO, in der Hoffnung, dass ich heute Morgen produktiver arbeiten kann. :)
(äh ... wie ist das für eine hyperspezifische StackOverflow-Frage?)
Lösung: (all dies nur, um var_dump
wie Funktionalität zu bekommen ... oh mein): Das war ein bisschen ein Schmerz in den Hintern, um ehrlich zu sein, und die Silex Docs waren von keinerlei Hilfe bei der Entdeckung, aber hier ist, was ich tun musste, um dies zum Laufen zu bringen.
Laden Sie zuerst den Twig Autoloader:
%Vor%Warum müssen Sie es auf diese Weise registrieren? Keine Ahnung. Wie findet es den Autoloader tatsächlich? Keine Ahnung. Aber es funktioniert.
Registrieren Sie den Anbieter und legen Sie die Debug-Option fest:
%Vor%Und schließlich (der beste Teil):
%Vor%Um ehrlich zu sein, ich denke, das ist genug Silex für mich.
Die Anerkennung für diese Lösung geht an Nerdpress
* Ninja edit: Eineinhalb Jahre später muss ich sagen, dass Silex ein Blindgänger für mich war. Ich habe Slim für alle Micro-Framework-Anforderungen verwendet und es ist fantastisch. Erledigt die Arbeit schnell, sauber, einfach und einfach.