Au fost scrise multe despre viitorul WordPress și mulți cred că îi lipsește o limbă templantă, mai ales când platforme precum Django, Ruby on Rails, Node.js, Laravel și chiar Drupal posedă una. Fapte precum "Competențele WordPress de aproape 25% din web " face dificilă punerea în discuție a sistemului de template-uri bazat pe PHP. Dar, deoarece modularitatea în cod este încă lipsă, se poate întreba când nucleul va avea un motor templating.
Vestea bună este chiar aici! Motorul template-ului Twig, alături de un plugin numit "Timber", ne poate ajuta să scriem coduri super-curat și modulare în WordPress. În această serie, vom discuta implementarea și integrarea cu WordPress. Voi începe cu foarte multe lucruri de bază ale a ceea ce este și de ce aveți nevoie de ea, iar în următoarele trei articole voi explica diferite tipuri de șabloane Twig integrate cu WordPress prin intermediul cherestelei.
Twig este un motor templating flexibil, rapid și sigur pentru PHP. Twig vă este adus de către Fabien Potencier, creatorul cadrului Symfony, și este considerat a fi bogat în caracteristici, extins, rapid și eficient.
În general, când codificați în WordPress, amestecați bucăți de PHP cu HTML (așa numim cod spaghetti). Acest lucru nu este atribuit ca marcare super-curată. Din motive de abordare modulară și Doing it Right ™, trebuie să păstrați Vedere
separat de Date
. Cu Twig, puteți să separați vedere strat din restul aplicației. Twig funcționează pe modelul model-view-controller (MVC) și ajută la păstrarea codului curat.
De-a lungul anilor s-au dezvoltat diferite motoare template-uri PHP, însă Twig sigur că le depășește pe toate în următoarele capacități.
Twig este unul dintre cele mai bogate și puternice motoare de template-uri PHP. Acesta susține moștenirea multiplă și ieșirea automată a ieșirilor și ajută la împărțirea șablonului în mai multe blocuri sau componente pentru a menține un design modular. Nu numai acest lucru, dar dezvoltatorii pot adăuga, de asemenea, mai multe pluginuri pentru a satisface orice cerințe de front-end.
Șabloanele compilate prin Twig suportă mult mai puțin aeriene în comparație cu șablonul obișnuit al PHP. Rutinele de codare sunt extrem de optimizate și veți reuși să economisiți mult timp de dezvoltare. De asemenea, este util atunci când intenționați să modificați cadrul de bază, deoarece Twig ajută la crearea unui strat separat de template care poate fi conectat cu orice cadru back-end, fie acesta este Laravel sau WordPress.
Twig corespunde cerințelor atât designerilor, cât și dezvoltatorilor. Chiar dacă nu sunteți un tâmpit de cod, utilizarea lui Twig este simplă și este corect să codificați un șablon modular bazat pe componente. Sintaxa sa este ușor de înțeles și se abține de la implementarea operațiilor dinamice PHP în fișierele de șabloane. În ansamblu, este destul de modern și se adaptează la toate cele mai recente standarde de codare. Conceptul de scăpare de ieșire este foarte cuprinzător atunci când este tratat cu Twig.
Să începem cu un exemplu simplu.
În PHP obișnuit obțineți o ieșire astfel:
În Twig, lucrurile se simplifică mult mai mult, adică codul de mai sus se comprimă la:
foo foo | escape foo | e scurtătura pentru a scăpa de o variabilă
Ieșirea de ieșire este doar atât de simplă în Twig. Doar adăugați paranteze dublu, introduceți numele variabilei și obțineți o ieșire. Pune o țeavă cu o e lângă ea și am început să scăpăm de lucruri. Mai multe despre acest lucru în următoarele trei articole din această serie.
Twig santifică și asigură datele de unul singur. Sale exclusiv Sandbox mod inteligent monitorizează întregul cod și filtrează cele mai bune rezultate posibile. Aceasta înseamnă că șabloanele generate de utilizatori pot fi implementate cu ușurință și în siguranță. Mediul pentru mediul sandbox poate fi activat la nivel global sau local numai pentru anumite șabloane, cum ar fi:
include ('post.html', sandboxed = true)
În cazul oricărei erori de sintaxă, Twig depanează fișierul dvs. generând un mesaj care conține detaliile precum numele fișierului dvs. și numărul liniei cu codul problematic.
Tocmai am menționat că Twig este un motor modern de template-uri, ceea ce înseamnă, de asemenea, că vă puteți extinde funcționalitatea, deoarece este destul de flexibil. Sprijină pe deplin un sistem eficient lexer și parser prin care dezvoltatorii pot defini etichete personalizate, filtre, funcții etc..
În afară de toate caracteristicile menționate mai sus, Twig este foarte bine documentat și complet testat de unitate. API-ul și bibliotecile templante sunt pe deplin stabile și se pot ocupa de tot felul de sarcini complexe. O carte online dedicată și documentația complet API sunt de asemenea disponibile.
Twig servește ca noul limbaj pentru șabloane pentru Drupal 8, care este motivația mea majoră în spatele folosirii acestui motor templating cu încredere. Oamenii buni de la XWP, în special Weston Ruter, lucrează la propunerea de a face Twig să respecte standardele VIP WordPress.com.
Până acum, întreaga discuție se referea la două lucruri. În primul rând, ar trebui să folosim o abordare modulară de a păstra șabloanele separate de date în timp ce construim teme personalizate WordPress și a doua, Twig ne poate ajuta să facem asta. Dar ceea ce aduce aceste două împreună?
S-au depus eforturi diferite pentru a realiza cele mai bune integrare dintre Twig și WordPress, iar o astfel de încercare curajoasă este cherestea, creată de o agenție web numită Upstatement. Utilizează motorul de template-uri Twig, care face posibilă scrierea unui cod modular și curat în WordPress.
Timber împreună cu Twig vă pot ajuta să construiți teme WordPress rapide și modulare. În acest fel, puteți păstra codul HTML separat de fișierele normale din PHP, asigurând un model de cod mai durabil. Conceptul de păstrare a codurilor HTML și PHP separat face posibil ca fișierul PHP să se concentreze strict pe furnizarea date
și logică în timp ce fișierul HTML (fișierul Twig) se concentrează pe vedere
strat al aplicației web.
În ansamblu, cherestea îndeplinește trei sarcini principale:
Cred că declarația lor de misiune spune totul:
Timber este un instrument pentru dezvoltatorii care doresc să traducă HTML-ul lor în teme WordPress de înaltă calitate printr-o interfață intuitivă, consistentă și complet accesibilă.
În cazul unei teme obișnuite WordPress, toate fragmentele codului PHP și HTML sunt integrate și modificate în aceleași fișiere de șabloane PHP. Cu toate acestea, cu cherestea, am împărțit fișierele șablon în două fișiere de date diferite: fișierul PHP și fișierul de vizualizare / șablon, adică fișierul Twig.
Deci, primul este salvat cu extensia de fișier .php
iar al doilea are .crenguţă
ca extindere. Prin urmare, dacă creați fișiere șablon pentru single.php
, fișierele vor fi numite single.php
și single.twig
.
Fișierul anterior colaționează datele, în timp ce acesta din urmă este șablonul care utilizează datele în format HTML. Astfel puteți adăuga operații dinamice în temele dvs. WordPress într-un mod modular.
Să rezumăm totul:
Cherestele leagă fișierele șablon ale temei WordPress în fișierele PHP și HTML (Twig). În acest fel separați logica de afișaj. Acesta vă oferă noi modalități de a construi, stil și afișa tema.
Există multe de iubit despre Twig. Acest articol a fost doar o introducere despre avantajele folosirii unui motor templating cu WordPress. Codul modular este un cod mai bun și este ușor de întreținut. Este timpul ca dezvoltatorii să facă această schimbare a fluxului de lucru și sunt sigur că Twig le poate ajuta cu asta.
În articolele viitoare, vom arăta implementarea practică a fișierelor șablon cu Twig. Vom analiza modul în care putem implementa Twig pentru redarea imaginilor, comentariilor și meniurilor WP, cu exemple de cod. Până atunci, dacă găsiți întrebări, nu ezitați să întrebați. Nu uitați să ajungeți la Twitter.