Kick-Start WordPress utveckling med twig Introduktion

Många har skrivits om WordPress, och många tror att det saknar ett templerande språk, särskilt när plattformar som Django, Ruby on Rails, Node.js, Laravel och även Drupal har en. Fakta som "WordPress driver nästan 25% av webben " gör det svårt att ifrågasätta sitt nuvarande PHP-baserade templeringssystem. Men eftersom modulariteten i kod fortfarande saknas kan man fråga när kärnan kommer att ha en templerande motor.

Den goda nyheten är här! Den Twig-templerande motorn tillsammans med ett plugin som heter Timber kan hjälpa oss att skriva superren och modulär kod i WordPress. I denna serie diskuterar vi dess implementering och integration med WordPress. Jag börjar med de grundläggande grunderna för vad Twig är och varför du behöver det, och i de följande tre artiklarna kommer jag att förklara olika typer av Twig-mallar som är integrerade med WordPress via Timber.

Vad är Twig?

Twig är en flexibel, snabb och säker templerande motor för PHP. Twig kommer till dig av Fabien Potencier, skaparen av Symfony-ramen, och anses vara funktionell, omfattande, snabb och effektiv. 

Generellt, när du kodar i WordPress, blandar du bitar av PHP med HTML (det är vad vi kallar spagetti-kod). Detta tillskrivs inte som superrenmärkning. För en modulär och Doing it Right ™ -metod måste man behålla Se separera från Data. Med Twig kan du skilja se skikt från resten av programmet. Twig fungerar på modell-view-controller (MVC) mönster och det hjälper till att upprätthålla ren kod.

Varför använda Twig?

Under åren har olika PHP-templerande motorer utvecklats, men Twig överträffar säkert alla i följande kapaciteter.

Funktionsrik

Twig är en av de mest funktionella och kraftfulla PHP-templerande motorerna. Den stöder flera arv och automatisk utmatning, och det hjälper till att dela mallen i flera block eller komponenter för att behålla en modulär design. Inte bara detta, men utvecklare kan också lägga till fler plugins för att uppfylla alla krav på framsidan.

Snabb och effektiv 

Mallar som sammanställs via Twig bära mycket mindre kostnader jämfört med vanlig PHP-mall. Kodningsrutinerna blir mycket optimerade och du sparar mycket av din utvecklingstid. Det är också användbart när du planerar att ändra grundramen, eftersom Twig hjälper till att skapa ett separat templerande lager som kan kopplas till alla back-end-ramar, vare sig det är Laravel eller WordPress.

Designer och utvecklare vänlig

Twig passar kraven hos både designers och utvecklare. Även om du inte är en kodnerd, är det enkelt att använda Twig, och det känns rätt att koda en modulär mall baserat på komponenter. Dess syntax är lätt att förstå och avstår från att implementera dynamiska PHP-operationer i mallfilerna. Sammantaget är det ganska modernt och kan anpassas med alla senaste kodningsstandarder. Utgångsflödet är mycket omfattande när det hanteras med Twig. 

Låt oss börja med ett enkelt exempel.

I vanlig PHP får du en utmatning så här:

 

I Twig blir sakerna mycket enklare, dvs ovanstående kod komprimeras till:

foo foo | escape foo | e # genväg för att fly från en variabel #

Utgångsutsläpp är bara så enkelt i Twig. Lägg bara till dubbla brace parentes, ange variabelns namn och du får en utgång. Lägg ett rör med en e bredvid det och vi har börjat flyga saker. Mer om detta i de följande tre artiklarna i denna serie.

Säkra

Twig sanitiserar och säkrar data på egen hand. Dess exklusiva sandlåda läget övervakar hela koden hela tiden och filtrerar bästa möjliga resultat. Det innebär att de användargenererade mallarna enkelt och säkert kan implementeras. Sandboxmiljön kan endast aktiveras globalt eller lokalt för specifika mallar så här:

include ('post.html', sandboxed = true)

I händelse av ett syntaxfel debuggar Twig din fil genom att generera ett meddelande som innehåller detaljer som ditt filnamn och linjenummer med den problematiska koden.

Flexibel

Jag har just nämnt att Twig är en modern templerande motor, vilket också innebär att du kan förlänga sin funktionalitet eftersom den är ganska flexibel. Det stöder fullt ut en effektiv lexer och parser genom vilka utvecklare kan definiera anpassade taggar, filter, funktioner, etc..

Övriga

Bortsett från alla funktioner som nämns ovan är Twig mycket väl dokumenterad och helt enhetstestad. API och templerande bibliotek är fullt stabila och kan hantera alla slags komplexa uppgifter. En dedikerad onlinebok och fullständig API-dokumentation finns också tillgängliga.

Twig fungerar som det nya mallspråket för Drupal 8, vilket är min stora motivation bakom att använda denna templerande motor med självförtroende. De bra på XWP, särskilt Weston Ruter, arbetar med ett förslag om att Twig ska överensstämma med WordPress.com VIP-standarder. 

Timmer: Integrering av kvist med WordPress

Hittills har hela diskussionen kringgått två saker. För det första bör vi använda ett modulärt tillvägagångssätt för att hålla mallar skilda från data medan du bygger egna WordPress-teman och för det andra kan Twig hjälpa oss att göra det. Men vad kommer dessa två tillsammans?

Olika ansträngningar har gjorts för att uppnå det bästa av integrationer mellan Twig och WordPress, och ett sådant modigt försök är Timber, skapat av en webbbyrå med namnet Upstatement. Den använder Twig-templeringsmotorn, vilket gör det möjligt att skriva modulär och ren kod i WordPress. 

Timmer tillsammans med Twig kan hjälpa dig att bygga snabbt och modulärt WordPress-teman. På så sätt kan du hålla din HTML-kod skild från de vanliga PHP-filerna, vilket ger ett mer hållbart kodmönster. Begreppet att hålla HTML och PHP separata gör det möjligt för PHP-filen att fokusera strikt på att leverera data och logik medan HTML-filen (Twig-filen) koncentrerar sig på se lagret av webbapplikationen.

Tillsammans utför Timber tre huvuduppgifter:

  • Det integrerar Twig i WordPress.
  • Det gör Twig-mallarna.
  • Det lägger till en foundation WordPress dataset.

Jag tror att deras uppdrag säger allt:

Timber är ett verktyg för utvecklare som vill översätta sin HTML till högkvalitativa WordPress-teman genom ett intuitivt, konsekvent och fullt tillgängligt gränssnitt.

  • Intuitiv: API: n är skrivet för att vara användarcentrerad kring en programmerares förväntningar.
  • Konsekvent: Alla WordPress-objekt kan nås via polymorfa egenskaper som slug, ID och namn.
  • Tillgänglig: Inga svarta lådor. Allt arbete görs så att utvecklaren har tillgång till 100% av deras HTML.

Hur fungerar timmerarbetet?

När det gäller ett vanligt WordPress-tema, är alla fragment av PHP och HTML-koden integrerad och modifierad i samma PHP-mallfiler. Men med Timber delade vi mallfiler i två olika datafiler: PHP-filen och visnings- / mallfilen, dvs Twig-filen. 

Så, den första sparas med filtillägget .php och den andra har .kvist som dess förlängning. Därför om du skapar mallfiler för single.php, dina filer kommer att namnges single.php och single.twig

Den tidigare filen samlar data, medan den senare är mallen som använder data i HTML. På så sätt kan du lägga till dynamiska operationer i WordPress-teman på ett modulärt sätt.

Låt oss sammanfatta allt:

Timber hanterar ditt WordPress-temas mallfiler i PHP och HTML (Twig) -filer. På så sätt skiljer du logiken från displayen. Det ger dig nya sätt att bygga, utforma och visa ditt tema.

Slutsats

Det finns mycket att älska om Twig. Denna artikel var bara en introduktion om fördelarna med att använda en templerande motor med WordPress. Modulkod är bättre kod och är lätt att underhålla. Det är dags för utvecklare att ta detta arbetsflödesskifte, och jag är säker på att Twig kan hjälpa dem med det. 

I de kommande artiklarna visar jag det praktiska genomförandet av mallfilerna med Twig. Vi kommer att undersöka hur vi kan implementera Twig för att göra WP-bilder, Kommentarer och Meny, med kodexempel. Till dess, om du hittar några frågor, tveka inte att fråga. Glöm inte att nå ut på Twitter.