Silex micro-framework und Twig: debuggen aktivieren

8

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:

%Vor%

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:

%Vor%

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.

    
Stuart 08.02.2012, 15:29
quelle

3 Antworten

10

Ich habe die alte Antwort vollständig entfernt, um die Ausgabe einer kleinen Beispielanwendung zu zeigen, die ich erstellt habe:

composer.json:

%Vor%

app.php:     

%Vor%     
dbrumann 08.02.2012, 15:33
quelle
0

Es ist eine Weile her, dass Sie jetzt eine kleine Aktualisierung der akzeptierten Antwort durchführen. Sie können die neue extend-Methode von Pimple verwenden:

composer.json:

%Vor%

index.php (vorderer Controller)

%Vor%     
DevWL 13.11.2015 05:46
quelle
0

für silex ^ 2.2 mit pimple 3 wurde die share () entfernt, also benutze:

%Vor%     
oneaday 01.03.2018 10:27
quelle

Tags und Links