Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:twig

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
php:twig [2016/10/25 10:39]
webproducer Operatoren für Bedingungen hinzugefügt
php:twig [2021/03/14 12:01] (aktuell)
webproducer For-Next-Schleife mit variabler Anzahl von Durchläufen
Zeile 1: Zeile 1:
 ====== TWIG (Template-Engine) ====== ====== TWIG (Template-Engine) ======
  
-Die Template-Engine TWIG ermöglicht ​es einfach und übersichtlich Platzhalter ​in einer PHP-Datei ​zu verwenden+TWIG ist eine Template-Engine ​für PHP mit einer einfach zu erlernenden Syntax. 
-Beim Aufruf eines TWIG-Templates ​werden ​die Inhalte ​der Variablen an das Template ​übergeben.+ 
 +Um den Vorteil für den Einsatz von TWIG zu verstehen verfolgen wir am Besten bei der Umsetzung eines Projektes den folgenden Gedanken: 
 +Es soll die Möglichkeit bestehen, dass Ihr Projekt eines Tages von mehreren Entwicklern,​ evtl. sogar mit mehreren Teams, weiterentwickelt werden soll. 
 +Dafür ist es sinnvoll, die reine Programmierung (in unserem Falle mit der Programmiersprache ​PHP) von der optischen Gestalltung (Auszeichnungssprache HTML mit CSS) strikt ​zu trennen
 +So kann später ein Webdesigner selbständig das Layout ändern ohne über Programmierkentnisse zu verfügen. Und andersherum kann ein Programmierer Änderungen an der Logik vornehmen, ohne sich Gedanken über das Layout machen zu müssen. 
 + 
 +Da in TWIG-Vorlagen kein PHP verwendet ​werden ​kann (das ist schon wegen der abweichenden Dateiendung "​.twig"​ nicht möglich) können hier lediglich mit TWIG-Platzhaltern und -Funktionen verwendet werden. 
 +Die Platzhalter,​ die Variablen, Arrays und Objekte sein können, werden zuvor mit PHP im Controller vorbereitet und an die TWIG-Vorlage ​übergeben. ​So ist die Programmierung sauber vom Layout getrennt. 
 + 
 +Die Syntax ist in der offiziellen TWIG-Dokumentation in den folgenden 4 Bereichen aufgeteilt:​ 
 + 
 +  * [[twig:​tags|Tags]] (z. B. Bedingugen oder Schleifen) 
 +  * [[twig:​filters|Filters]] (z. B. nur den ersten oder letzten Eintrag anzeigen) 
 +  * [[twig:​functions|Functions]] (z. B. Zufallswert,​ kleinster Wert oder größter Wert) 
 +  * [[twig:​tests|Tests]] (z. B. prüfen, ob Wert leer oder gerade oder ungerade ist) 
 + 
 +----
  
   * [[http://​twig.sensiolabs.org/​|Offizielle Homepage von TWIG]]   * [[http://​twig.sensiolabs.org/​|Offizielle Homepage von TWIG]]
Zeile 50: Zeile 66:
 {% endtag %} {% endtag %}
 </​code>​ </​code>​
- 
-  * [[twig:​tags|Die wichtigsten Tags]] 
-  * [[twig:​filters|Die wichtigsten Filter]] 
  
 **Bedingungen** werden immer in einfachen geschweiften Klammern, gefolgt von einem Prozentzeichen,​ aufgerufen: <​code>​ **Bedingungen** werden immer in einfachen geschweiften Klammern, gefolgt von einem Prozentzeichen,​ aufgerufen: <​code>​
Zeile 68: Zeile 81:
 ---- ----
  
-===== kleines ​Beispiel =====+===== Twig-Beispiel =====
  
-<file html test.twig>​ +Das Twig-Beispiel zeigt die sinnvolle Aufteilung von den folgenden Komponenten einer Webseite auf:
-<​h1>​Heute ist ein {{ Wochentag }} im {{ Monat }}</​h1>​ +
-</​file>​+
  
-<file php index.php>​ +  * Konfiguration 
-<?PHP+  * Page-Controller 
 +  * Mastertemplate 
 +  * Twig-View
  
-require "​vendor/​autoload.php";​ +[[twig:​example|Hier geht's zum Beispiel]]
-$loader = new Twig_Loader_Filesystem( "​views"​ ); // Verzeichnis mit den TWIG-Vorlagen +
-$twig = new Twig_Environment( $loader );+
  
-echo $twig->render( "​test.twig",​ [ "​Wochentag"​ => "​Dienstag",​ "​Monat"​ => "​November",​ ] +---
-); +
-</​file>​+
  
 ===== Kurzreferenz ===== ===== Kurzreferenz =====
Zeile 94: Zeile 103:
 | Inhalt eines Array-Elements oder einer Objekt-Variable in einer Schleife ausgeben | <​code>​{{ entry.email }} </​code>​| | Inhalt eines Array-Elements oder einer Objekt-Variable in einer Schleife ausgeben | <​code>​{{ entry.email }} </​code>​|
 | For-Next-Schleife erstellen | <​code>​{% for i in 0..10 %}<​p>​{{ i }}</​p>​{% endfor %}</​code>​ | | For-Next-Schleife erstellen | <​code>​{% for i in 0..10 %}<​p>​{{ i }}</​p>​{% endfor %}</​code>​ |
 +| For-Next-Schleife mit variabler Anzahl von Durchläufen | <​code>​{% for f in range( 1, config.faecher ) %} {{ f }} {% endfor %}</​code>​ |
 | Methode einer Klasse aufrufen | <​code>​{{ user.checkEmail( email ) }}</​code>​ | | Methode einer Klasse aufrufen | <​code>​{{ user.checkEmail( email ) }}</​code>​ |
php/twig.1477384753.txt.gz · Zuletzt geändert: 2016/10/25 00:00 (Externe Bearbeitung)