4 Stimmen

Können wir in Symfony PHP-Funktionen innerhalb einer Twig-Datei verwenden?

Hallo, kann mir bitte jemand sagen, ob wir eine PHP-Standardfunktion in einer Twig-Datei verwenden können? Wenn nicht, warum nicht? Wie können wir dann auf PHP-Standardfunktionen in einer Twig-Datei zugreifen?

Weil wir in einer Anwendung oft viele Bedingungen überprüfen müssen, basierend auf PHP-Standardfunktionen. Ich habe versucht, die in_array() -Funktion zu verwenden, um zu überprüfen, ob mehrere Werte in einer Dropdown-Liste ausgewählt wurden, aber ich erhalte den Fehler Is_array() nicht definiert.

Bitte hilf mir

Danke

2voto

xiidea Punkte 3354

Wie @DonCallisto gesagt hat, gibt es einige PHP-äquivalente Funktionen in Twig, aber nicht alle. Daher können Sie keine PHP-Funktion aus dem Twig-Template aufrufen. Sie müssen möglicherweise ein vorhandenes Äquivalent verwenden oder eines erstellen, falls nicht vorhanden. hier klicken

Warum?

Einer der Hauptgründe ist SoC. Das Template ist für die Präsentationsschicht Ihrer Anwendung. Daher stellt Twig Tools (Filter, Funktionen, globale Variablen) zur Verfügung, um dies zu ermöglichen.

Kennen Sie die Unterschiede

Obwohl Sie eine Datumsfunktion in Twig haben, ist es nicht dieselbe Datumsfunktion wie in PHP. Um eine ähnliche Funktionalität zu erreichen, müssen Sie möglicherweise in Twig denselben oder einen anderen Ansatz wie in PHP verwenden. Beispielsweise können Sie die in_array-Funktionalität von PHP mit dem Twig-Containment Operator erreichen.

Was ist der Weg

Kommen wir jetzt zum letzten Teil Ihrer Frage:

Wie greife ich dann auf eine PHP-integrierte Funktion in einer Twig-Datei zu?

Ich denke, Sie kennen bereits die kurze Antwort von @DonCallisto. Sie können Ihre eigene Erweiterung erstellen. Und definieren, welche Funktionen Sie benötigen. Oder wenn Sie verrückt genug sind, um auf alle PHP-integrierten Funktionen von Ihrem Template aus zuzugreifen, können Sie diese Erweiterung verwenden. Sie ermöglicht es Ihnen, beliebige PHP-Funktionen aufzurufen, indem Sie sie mit php_ voranstellen. Wenn Sie beispielsweise die Funktion in_array aufrufen möchten, können Sie diese im Template als php_in_array() aufrufen.

Viel Spaß beim Coden!

1voto

DonCallisto Punkte 28353

Twig hat einige PHP-eingebaute Funktionen, die äquivalent sind. Zum Beispiel ist die in_array() PHP-Funktion die in Twig-Funktion. Schau es dir an

Wenn du einige eingebaute Funktionen nicht findest, musst du deine eigene Twig-Erweiterung schreiben

0 Stimmen

Vielen Dank, es gibt eine Funktion, die wir in einer Twig-Datei verwenden können, wie beispielsweise in_array() in PHP.

0 Stimmen

@user3458514: habe ich dir gesagt :) es gibt und ist oben verlinkt

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X