Szukaj…


Uwagi

W tej sekcji omówiono, czym jest gałązka i dlaczego deweloper może chcieć z niej skorzystać.

Powinien również wymieniać wszelkie duże tematy w gałązce i link do powiązanych tematów. Ponieważ Dokumentacja dla gałązki jest nowa, może być konieczne utworzenie początkowych wersji tych pokrewnych tematów.

Podstawowe użycie interfejsu API

Można go również zainstalować, pobierając kod źródłowy i umieszczając go w katalogu swojego projektu. Jednak korzystanie z kompozytora ma wiele zalet.

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);

Podczas tworzenia nowej instancji Twig_Environment możesz przekazać tablicę opcji jako drugi argument konstruktora. Oto lista dostępnych opcji:

  • debugowanie ( boolean , domyślnie false )

Po ustawieniu wartości true generowane szablony mają metodę __toString() , której można użyć do wyświetlenia wygenerowanych węzłów.

  • charset ( ciąg znaków , domyślnie utf-8 )

Zestaw znaków używany przez szablony.

  • base_template_class ( string , domyślnie Twig_Template )

Podstawowa klasa szablonów do użycia w wygenerowanych szablonach.

  • pamięć podręczna ( ciąg lub false , domyślnie false )

Bezwzględna ścieżka do przechowywania skompilowanych szablonów lub false, aby wyłączyć buforowanie (jest to ustawienie domyślne).

  • auto_reload ( boolean , domyślnie dziedziczony z debugowania )

Podczas programowania za pomocą Twig przydatna jest rekompilacja szablonu przy każdej zmianie kodu źródłowego. Jeśli nie podasz wartości opcji auto_reload, zostanie ona ustalona automatycznie na podstawie wartości debugowania.

  • strict_variables ( boolean , default false )

Jeśli ustawione na false, Twig po cichu zignoruje nieprawidłowe zmienne (zmienne i / lub atrybuty / metody, które nie istnieją) i zastąpi je wartością zerową. Po ustawieniu wartości true Twig zgłasza wyjątek.

  • autoescape ( string lub boolean , domyślnie true )

Jeśli ustawiona na wartość true, automatyczne wyłączanie HTML będzie domyślnie włączone dla wszystkich szablonów.

Począwszy od Twig 1.8, możesz ustawić użycie strategii zmiany znaczenia (html, js, false, aby wyłączyć).

Począwszy od wersji 1.9, można ustawić użycie strategii zmiany znaczenia (css, url, html_attr lub wywołanie zwrotne PHP, które przyjmuje szablon „nazwa pliku” i musi zwrócić strategię zmiany znaczenia do użycia - wywołanie zwrotne nie może być nazwą funkcji, której należy unikać kolizja z wbudowanymi strategiami ucieczki).

Począwszy od wersji 1.17, strategia zmiany nazwy pliku określa strategię zmiany znaczenia, która ma być używana dla szablonu na podstawie rozszerzenia nazwy pliku szablonu (strategia ta nie wiąże się z żadnymi kosztami w środowisku wykonawczym, ponieważ automatyczne unikanie jest wykonywane w czasie kompilacji).

  • optymalizacje ( liczba całkowita , domyślnie -1 )

Flaga wskazująca, które optymalizacje zastosować:
set to -1 to enabled all optimalizations
set o 0 to disable all optimalitazations

Oficjalny przewodnik instalacji gałązki

Rozszerzenie PHP Twig (napisane w C) można również skompilować i zainstalować, a pakiet PHP automatycznie skorzysta z tego, aby zoptymalizować niektóre popularne procedury.

Co to jest gałązka?

Twig to język szablonów, który kompiluje się w celu zoptymalizowania kodu PHP. Jest używany głównie do generowania HTML, ale może być również używany do generowania dowolnego innego formatu tekstowego. Jest to samodzielny komponent, który można łatwo zintegrować z dowolnym projektem PHP.

Zapewnia wiele doskonałych funkcji:

  • Automatyczne wykrywanie HTML (pomaga zapobiegać XSS)
  • Składnia zaprojektowana z myślą o szablonach (na podstawie szablonów Django)
  • Dziedziczenie szablonu
  • Makra

Oficjalna dokumentacja szablonów Twig

Przykład składni Twiga:

{% 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 %}

Wprowadzenie

Jeśli masz kontakt z innymi językowymi szablonami tekstowymi, takimi jak Smarty , Django lub Jinja , powinieneś czuć się jak w domu z Twig . Jest przyjazny zarówno dla projektantów, jak i programistów, ponieważ przestrzega zasad PHP i dodaje funkcje przydatne w środowiskach szablonowych.

Najważniejsze funkcje to ...

  • Szybko: Twig kompiluje szablony do zoptymalizowanego kodu PHP. Narzut w porównaniu ze zwykłym kodem PHP został zredukowany do minimum.
  • Bezpieczne: Twig ma tryb piaskownicy do oceny niezaufanego kodu szablonu. Dzięki temu Twig może być używany jako język szablonów dla aplikacji, w których użytkownicy mogą modyfikować projekt szablonu.
  • Elastyczność: Twig jest zasilany przez elastyczny lexer i parser . Umożliwia to programistom definiowanie własnych niestandardowych tagów i filtrów oraz tworzenie własnych DSL.

Twig jest używany przez wiele projektów Open Source, takich jak Symfony , Drupal , eZPublish, a wiele frameworków ma dla niego wsparcie, a także Slim , Yii , Laravel , Codeigniter , silex i Kohana - żeby wymienić tylko kilka.

Instalacja

Zalecany sposób instalacji Twig to Composer :

Dla użytkowników php 5.x.

composer require "twig/twig:~1.0"

Dla użytkowników php 7.x.

composer require "twig/twig:~2.0"


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow