Looking for twig Answers? Try Ask4KnowledgeBase
Looking for twig Keywords? Try Ask4Keywords

twigErste Schritte mit twig


Bemerkungen

In diesem Abschnitt erhalten Sie einen Überblick darüber, was twig ist und warum ein Entwickler es möglicherweise verwenden möchte.

Es sollte auch alle großen Themen innerhalb von twig erwähnen und auf die verwandten Themen verweisen. Da die Dokumentation für twig neu ist, müssen Sie möglicherweise erste Versionen dieser verwandten Themen erstellen.

Grundlegende API-Verwendung

Sie können es auch installieren, indem Sie den Quellcode herunterladen und in einem Verzeichnis Ihres Projekts ablegen. Die Verwendung von Composer bietet jedoch viele Vorteile.

require '/path/to/lib/Twig/Autoloader.php';
Twig_Autoloader::register();

$loader = new Twig_Loader_Filesystem('/path/to/templates');

$options = array(
    'strict_variables' => false,
    'debug' => false,
    'cache'=> false
);

$twig = new Twig_Environment($loader, $options);
 

Beim Erstellen einer neuen Instanz von Twig_Environment können Sie ein Array von Optionen als zweites Argument des Konstruktors übergeben. Hier ist eine Liste der verfügbaren Optionen:

  • debug ( boolean , default false )

Bei der Einstellung true verfügen die generierten Vorlagen über eine __toString() Methode, mit der Sie die generierten Knoten anzeigen können.

  • Zeichensatz ( String , Standard utf-8 )

Der von den Vorlagen verwendete Zeichensatz.

  • base_template_class ( String , Standard Twig_Template )

Die Basisvorlagenklasse, die für generierte Vorlagen verwendet werden soll.

  • Cache ( String oder false , Standardwert false )

Ein absoluter Pfad, in dem die kompilierten Vorlagen gespeichert werden sollen, oder false, um die Zwischenspeicherung zu deaktivieren (Standardeinstellung).

  • auto_reload ( boolean , Standardwert von Debug geerbt)

Beim Entwickeln mit Twig ist es hilfreich, die Vorlage immer dann neu zu kompilieren, wenn sich der Quellcode ändert. Wenn Sie keinen Wert für die Option auto_reload angeben, wird dieser automatisch basierend auf dem Debug-Wert bestimmt.

  • strict_variables ( boolean , Standardwert false )

Wenn der Wert auf false gesetzt ist, ignoriert Twig ungültige Variablen (Variablen und / oder Attribute / Methoden, die nicht vorhanden sind) und ersetzt sie durch einen Nullwert. Wenn der Wert auf true gesetzt ist, löst Twig stattdessen eine Ausnahme aus.

  • autoescape ( string oder boolean , Standardwert true )

Bei Festlegung auf "true" wird die automatische HTML-Escape-Funktion für alle Vorlagen standardmäßig aktiviert.

Ab Twig 1.8 können Sie die Escape-Strategie (html, js, false zum Deaktivieren) festlegen.

Ab Twig 1.9 können Sie die Escape-Strategie (css, url, html_attr oder einen PHP-Callback) festlegen, die die Vorlage "Dateiname" verwendet und die Escape-Strategie zurückgeben muss Kollision mit eingebauten Fluchtstrategien).

Ab Twig 1.17 bestimmt die Escape-Strategie für Dateinamen die Escape-Strategie, die für eine Vorlage basierend auf der Dateinamenerweiterung der Vorlage verwendet werden soll (diese Strategie verursacht zur Laufzeit keinen Aufwand, da die automatische Escape-Funktion zur Kompilierungszeit erfolgt.)

  • Optimierungen ( Ganzzahl , Standard -1 )

Ein Flag, das angibt, welche Optimierungen angewendet werden sollen:
set to -1 to enabled all optimalizations
set o 0 to disable all optimalitazations

Offizielle Twig-Installationsanleitung

Eine Twig-PHP-Erweiterung (in C geschrieben) kann ebenfalls kompiliert und installiert werden, und das PHP-Paket nutzt diese Option automatisch, um einige gängige Routinen zu optimieren.

Einführung

Wenn Sie mit anderen textbasierten Vorlagensprachen wie Smarty , Django oder Jinja vertraut sind , sollten Sie sich bei Twig wie zu Hause fühlen. Es ist sowohl für Entwickler als auch für Entwickler geeignet, indem es sich an die Prinzipien von PHP hält und Funktionen hinzufügt, die für die Erstellung von Vorlagen hilfreich sind.

Die wichtigsten Funktionen sind ...

  • Schnell: Twig kompiliert Vorlagen mit einfachem optimiertem PHP-Code. Der Aufwand gegenüber herkömmlichem PHP-Code wurde auf ein Minimum reduziert.
  • Sicher: Twig verfügt über einen Sandbox-Modus , um nicht vertrauenswürdigen Vorlagencode auszuwerten. Dadurch kann Twig als Vorlagensprache für Anwendungen verwendet werden, in denen Benutzer das Vorlagendesign ändern können.
  • Flexibel: Twig wird von einem flexiblen Lexer und Parser angetrieben. Auf diese Weise können Entwickler ihre eigenen benutzerdefinierten Tags und Filter definieren und ihr eigenes DSL erstellen.

Twig wird von vielen Open-Source-Projekten wie Symfony , Drupal , eZPublish verwendet. Viele Frameworks unterstützen es ebenso wie Slim , Yii , Laravel , Codeigniter , Silex und Kohana - um nur einige zu nennen.

Installation

Die empfohlene Installationsmethode für Twig ist der Composer :

Für PHP 5.x Benutzer

composer require "twig/twig:~1.0"
 

Für PHP 7.x Benutzer

composer require "twig/twig:~2.0"
 

Was ist Zweig?

Twig ist eine Templatesprache, die zu optimiertem PHP-Code kompiliert wird. Es wird hauptsächlich zur Ausgabe von HTML verwendet, kann aber auch zur Ausgabe eines beliebigen anderen textbasierten Formats verwendet werden. Es ist eine eigenständige Komponente, die einfach in jedes PHP-Projekt integriert werden kann.

Es bietet viele hervorragende Funktionen:

  • Autoescaping für HTML (hilft, XSS zu verhindern)
  • Syntax für Templating (auf Django-Vorlagen basierend)
  • Vorlagenvererbung
  • Makros

Offizielle Dokumentation zur Zweigvorlage

Beispiel für Twigs Syntax:

{% extends "base.html" %}

{% block sidebar %}
  {{ parent() }}
  <span>Sidebar content specific to this page</span>
{% endblock sidebar %}

{% block body %}
  <p>Select an item:</p>
  <ul>
    {% for item in list %}
      <li><a href="/items/{{ item.id }}">{{ item.name }}</a>
    {% else %}
      <li>No items yet.
    {% endfor %}
  </ul>
{% endblock body %}