php twig est un moteur de modèles PHP flexible, rapide et sécurisé. Twig compile les modèles en code PHP pur et optimisé ; Twig dispose d'un mode sandbox pour évaluer le code de modèle non fiable ; Twig est piloté par un lexer et un analyseur flexibles.
php twig
Twig est un moteur de modèles PHP flexible, rapide et sécurisé.
Rapide : Twig compile les modèles en code PHP pur et optimisé. Sa surcharge a été réduite à extrêmement faible par rapport au code PHP conventionnel.
Sécurité : Twig dispose d'un mode bac à sable pour évaluer le code de modèle non fiable. Cela permet à Twig d'être utilisé dans des applications permettant aux utilisateurs de modifier eux-mêmes la conception du modèle.
Flexible : Twig est alimenté par un lexer et un analyseur flexibles. Cela permet aux développeurs de personnaliser les balises et les filtres et de créer leur propre DSL.
Pourquoi existe-t-il ce moteur de modèles ?
Lorsque vous apportez un moteur de modèles à PHP, de nombreuses personnes vous diront que PHP lui-même est un moteur de modèles. Bien que PHP ait été utilisé à l’origine comme langage de modèles, il n’a pas évolué comme n’importe quel moteur de modèles ces dernières années. En fait, il ne prend pas en charge de nombreuses fonctionnalités des moteurs de modèles modernes :
Concision : Le langage PHP est ridiculement verbeux lorsqu'il s'agit d'échapper des résultats.
<?php echo $var ?> <?php echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8') ?>
En revanche, Twig a une syntaxe très concise, qui rend les modèles plus lisibles :
{{ var }} {{ var|escape }} {{ var|e }} {# shortcut to escape a variable #}
Syntaxe orientée modèle : Twig fournit des raccourcis pour les modèles courants, tels que lors d'une itération sur un tableau vide , un texte par défaut s'affiche :
{% for user in users %} * {{ user.name }} {% else %} No users have been found. {% endfor %}
Fonctionnalités complètes : Twig vous offre tout ce dont vous avez besoin pour créer facilement des modèles puissants : héritage multiple, blocs, échappement de sortie automatisé et bien d'autres fonctionnalités :
{% extends "layout.html" %} {% block content %} 页面内容... {% endblock %}
Facile à apprendre : la syntaxe de Twig est très facile à apprendre, et même les concepteurs Web peuvent terminer leur travail rapidement sans aucune entrave :
Bien sûr, PHP est également le langage utilisé dans de nombreux projets de moteurs de modèles. Mais la plupart d'entre eux sont encore développés en PHP 4 et ne prennent pas en charge les meilleures pratiques de développement web :
Évolutivité : Twig est suffisamment flexible pour répondre à vos besoins même dans les cas les plus complexes. Grâce à l'architecture ouverte, vous pouvez implémenter vos propres constructions de langage (balises, filtres, fonctions, voire opérateurs, etc.) pour créer votre propre DSL.
Testé unitairement : Twig a subi des tests unitaires complets, il est stable et peut être utilisé dans de grands projets.
Documentation : Twig dispose d'une documentation complète, ainsi que d'un manuel en ligne dédié, et bien sûr d'une documentation API complète.
Sécurité : En parlant de sécurité, Twig possède des fonctionnalités uniques :
Échappement automatique de la sortie : Pour des raisons de sécurité, vous pouvez activer l'échappement automatique de la sortie globalement, ou uniquement pour un certain bloc :
{% autoescape true %} {{ var }} {{ var|raw }} {# var won't be escaped #} {{ var|escape }} {# var won't be doubled-escaped #} {% endautoescape %}
Sandbox : Twig peut évaluer n'importe quel modèle dans un environnement sandbox, et les utilisateurs ne peuvent accéder qu'à un ensemble limité de balises, de filtres et de méthodes objet définies par le développeur. Le sandboxing peut être activé globalement ou individuellement pour certains modèles :
{{ include('page.html', sandboxed = true) }}
Effacer les messages d'erreur : chaque fois que vous rencontrez une erreur de syntaxe dans un modèle, Twig affichera une aide avec le nom de fichier et le numéro de ligne des informations d'erreur. C'est très utile pour le débogage.
Rapide : L'un des objectifs de Twig est d'être aussi rapide que possible. Pour obtenir la meilleure vitesse possible, Twig compile les modèles dans un code PHP extrêmement optimisé. Sa surcharge a été réduite à extrêmement faible par rapport au code PHP conventionnel.
Pour plus de connaissances connexes, veuillez visiter le Site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!