Maison > Article > développement back-end > Présentation de Twig : l'outil parfait pour démarrer votre développement WordPress
Beaucoup de choses ont été écrites sur l'avenir de WordPress, beaucoup affirmant qu'il lui manque un langage de modèle, surtout lorsque des plateformes comme Django, Ruby on Rails, Node.js, Laravel et même Drupal ont toutes des langages de modèle. Des faits tels que « WordPress alimente près de 25 % du Web » rendent difficile la remise en question de son système de modèles actuel basé sur PHP. Mais comme la modularité du code fait encore défaut, on peut se demander quand il y aura un moteur de template dans le noyau.
La bonne nouvelle est là ! Le moteur de modèles Twig et un plugin appelé Timber nous aident à écrire du code super propre et modulaire dans WordPress. Dans cette série, nous discuterons de sa mise en œuvre et de son intégration avec WordPress. Je commencerai par les bases de ce qu'est Twig et pourquoi vous en avez besoin, et au cours des trois prochains articles, j'expliquerai les différents types de modèles Twig qui s'intègrent à WordPress via Timber.
Twig est un moteur de modèles PHP flexible, rapide et sécurisé. Twig vous est présenté par Fabien Potencier, le créateur du framework Symfony, et est considéré comme riche en fonctionnalités, étendu, rapide et efficace.
Normalement, lorsque vous codez dans WordPress, vous mélangez des morceaux PHP avec du HTML (c'est ce que nous appelons du code spaghetti). Ce n’est pas une marque super propre. Afin d'adopter une approche modulaire et Doing it Right™, View
View
与 Data
doit être séparé de Data
. Avec Twig, vous pouvez séparer la couche View
Au fil des années, différents moteurs de modèles PHP ont été développés, mais Twig les surpasse définitivement tous dans les capacités suivantes.
Twig est l'un des moteurs de modèles PHP les plus riches en fonctionnalités et les plus puissants. Il prend en charge l'héritage multiple et l'échappement automatique des sorties, et permet de diviser les modèles en plusieurs blocs ou composants pour conserver une conception modulaire. De plus, les développeurs peuvent ajouter plus de plugins pour répondre à tous les besoins front-end.
Les modèles compilés avec Twig entraînent beaucoup moins de frais généraux que les modèles PHP classiques. Les routines de codage sont hautement optimisées et vous gagnez beaucoup de temps de développement. C'est également utile lorsque vous envisagez de modifier le framework de base, car Twig peut vous aider à créer une couche de modèle distincte qui peut être connectée à n'importe quel framework backend, qu'il s'agisse de Laravel ou de WordPress.
Twig répond aux exigences des concepteurs et des développeurs. Même si vous n'êtes pas un connaisseur du codage, utiliser Twig est simple et écrire des modèles modulaires basés sur des composants semble correct. Sa syntaxe est facile à comprendre et évite d'implémenter des opérations PHP dynamiques dans les fichiers modèles. Dans l’ensemble, il est très moderne et fonctionne avec toutes les dernières normes de codage. Le concept d'échappement de sortie est très complet lors du traitement avec Twig.
Commençons par un exemple simple.
En PHP standard, vous obtiendrez un résultat comme ceci :
<?php echo $foo; // $foo is any random variable ?> <?php echo htmlspecialchars( $foo, ENT_QUOTES, 'UTF-8' ) ?>Dans Twig, les choses sont encore plus simples, c'est à dire que le code ci-dessus se résume à :
{{ foo }} {{ foo|escape }} {{ foo|e }} {# shortcut to escape a variable #}L'échappement de la sortie est aussi simple que cela dans Twig. Ajoutez simplement des doubles accolades, entrez le nom de la variable et vous obtiendrez le résultat. Mettez un tuyau avec e à côté et nous commençons à nous échapper. Les trois prochains articles de cette série aborderont ce sujet en détail.
Twig nettoie et protège les données elle-même. Son mode Sandbox
unique surveille intelligemment l'intégralité du code et filtre les meilleurs résultats. Cela signifie que les modèles générés par les utilisateurs peuvent être mis en œuvre facilement et en toute sécurité. Les environnements Sandbox ne peuvent être activés que globalement ou localement pour des modèles spécifiques, comme indiqué ci-dessous :
{{ include( 'post.html', sandboxed = true ) }}Si des erreurs de syntaxe se produisent, Twig générera un message pour déboguer votre fichier avec des détails tels que le nom du fichier et le numéro de ligne du code incriminé.
Je viens de mentionner que Twig est un moteur de modèles moderne, ce qui signifie également que vous pouvez étendre ses fonctionnalités car il est très flexible. Il prend entièrement en charge les efficaces analyseur lexical et parser
, grâce auxquels les développeurs peuvent définir des balises personnalisées, des filtres, des fonctions et bien plus encore.En plus de toutes les fonctionnalités mentionnées ci-dessus, Twig est bien documenté et entièrement testé unitairement. Son API et sa bibliothèque de modèles sont entièrement stables et peuvent gérer une variété de tâches complexes. Un livre en ligne dédié et une documentation complète sur l'API sont également disponibles.
Twig est le nouveau langage de création de modèles pour Drupal 8, ce qui est ma principale motivation pour utiliser ce moteur de création de modèles en toute confiance. Les bonnes gens de XWP, en particulier Weston Ruter, travaillent sur une proposition visant à rendre Twig conforme aux normes VIP de WordPress.com.
Jusqu’à présent, toute la discussion a tourné autour de deux choses. Premièrement, nous devons adopter une approche modulaire et séparer les modèles des données lors de la création de thèmes WordPress personnalisés, et deuxièmement, Twig peut nous aider à le faire. Mais qu’est-ce qui rapproche ces deux-là ? 🎜
Différents efforts ont été déployés pour obtenir la meilleure intégration entre Twig et WordPress, l'une des tentatives courageuses est Timber créé par une agence web appelée Upstatement. Il utilise le moteur de template Twig, qui permet d'écrire du code modulaire et propre dans WordPress.
Timber et Twig vous aident à créer des thèmes WordPress rapides et modulaires. Cela vous permet de séparer le code HTML des fichiers PHP classiques, garantissant ainsi un modèle de codage plus durable. Le concept de séparation HTML et PHP permet aux fichiers PHP de se concentrer strictement sur la fourniture de la data
和逻辑,而 HTML 文件(Twig 文件)则专注于 view
couche d'application Web.
En général, Timber effectue trois tâches principales :
Je pense que leur énoncé de mission dit tout :
Timber est un outil destiné aux développeurs qui souhaitent convertir du HTML en thèmes WordPress de haute qualité via une interface intuitive, cohérente et entièrement accessible.
Avec les thèmes WordPress classiques, tous les extraits de code PHP et HTML sont intégrés et modifiés dans le même fichier modèle PHP. Cependant, avec Timber, nous divisons le fichier modèle en deux fichiers de données différents : le fichier PHP et le fichier vue/modèle, le fichier Twig.
Le premier fichier a donc une extension .php
,第二个文件的扩展名为 .twig
。因此,如果您要为 single.php
创建模板文件,您的文件将被命名为 single.php
和 single.twig
.
Le premier est un fichier qui organise les données et le second est un modèle qui utilise des données en HTML. Cela vous permet d’ajouter des actions dynamiques dans votre thème WordPress de manière modulaire.
Résumons :
Timber gère les fichiers de modèles de thème WordPress dans les fichiers PHP et HTML (Twig). De cette façon, vous pouvez séparer la logique de l'affichage. Il vous offre de nouvelles façons de créer, concevoir et afficher vos thèmes.
Il y a beaucoup de choses à aimer chez Twig. Cet article présente simplement les avantages de l’utilisation d’un moteur de modèles dans WordPress. Le code modulaire est meilleur et plus facile à maintenir. Il est temps pour les développeurs de modifier leur flux de travail, et je pense que Twig peut les aider à y parvenir.
Dans le prochain article, je montrerai l'implémentation réelle à l'aide des fichiers modèles Twig. Nous verrons comment implémenter Twig pour restituer les images, les commentaires et les menus WP à travers des exemples de code. D'ici là, si vous avez des doutes, n'hésitez pas à demander. N'oubliez pas de vous connecter avec nous sur Twitter.
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!