Kui räägime mallidest, selle kohta, kas selle mallid on WordPressi, JavaScripti mallid või mõnes muus keeles, siis arvan, et on kasulik kasutada konkreetset projekti või näidet selle toimimise läbivaatamiseks, selle asemel et rääkida sellest esoteerilisemas terminis.
Kui te pole seda sarja jälginud ja mallide loomisega alles alustate, soovitan lugeda sarja kaks esimest osa:
Sealt edasi jagame kontseptsiooni kaheks osaks:
- mõista, mis on mallid,
- kuidas mallid WordPressis toimivad.
Väljakutse tuleb muidugi selles, et meil on "WordPressi mallid" ja siis räägime mallimootori kasutamisest WordPressi mallide muutmiseks, kuidas need töötavad, kuidas neisse andmeid sisestatakse ja nii edasi.
Kuid ma annan endast parima, et iga osa selgeks teha.
WordPressi mallid (kuid mitte mallid)
Kui rääkida mallidest, on kasulik mallide või mallimootorite töödefinitsioon. Tõde on see, et mallide loomine toimub mallimootori abil.
Töötav definitsioon
Mallimootori üldine määratlus on järgmine:
Malliprotsessor (tuntud ka kui mallimootor või malliparser) on tarkvara, mis on loodud mallide kombineerimiseks andmemudeliga tulemusedokumentide koostamiseks.
Ja kuigi see on täpne, on see üldkontseptsiooni selgitamiseks minu arvates veidi sõnakas või keerulisem kui vaja. Võib-olla saame välja töötada järgmise määratluse:
Mallimootor kasutab süntaksit andmete sisestamiseks dokumenti.
See on tõesti üldine ja uurime hetkeks PHP-d, kuid kõigepealt tahtsin anda põhilise toimiva definitsiooni ja siis sealt edasi minna, kuna malli saab kasutada paljudes erinevates keeltes.
Lisaks on oluline mõista, et hea mallimootor tagab sageli turvalisuse, paindlikkuse ja potentsiaalselt isegi "liivakastirežiimi", mille puhul testime koodi enne selle tootmisse juurutamist.
Kuidas mallide loomine välja näeb?
Erinevate süntaksite olemuse tõttu näeb mallide loomine välja veidi erinev, kuid üks populaarne PHP mallimootor kannab nime Twig. Seega võib Twigi kasutavate PHP-põhiste mallide konkreetne näide välja näha umbes selline:
{% extends "base.twig" %}
{% block content %}
<h1 class="big-title">{{foo}}</h1>
<h2>{{post.title}}</h2>
<img src="{{post.thumbnail.src}}" />
<div class="body"> {{post.content}} </div>
{% endblock %}
Nagu näete, on see pisut erinev sellest, mida me kasutame märgistuse, HTML-i, PHP-märgendite jms puhul, kuigi on endiselt mallimootori jaoks ainulaadseid silte.
Isegi kui olete objektide mõistetega tuttav, näete, kuidas pääsete neile juurde malli kontekstis, kasutades punktimärki, mitte mis tahes tähistus- või funktsioonikutseid, mida olete PHP-dokumendis harjunud kasutama. .
Kas WordPressi mallimootoreid on olemas?
Jah ja ei. Ma mõtlen, et WordPressi kontekstis on mallimootorite kasutamiseks võimalusi, kuid ma ei saa öelda, et WordPressi jaoks on olemas kindel malli. Mõned näited asjadest, mida võiksite kontrollida (enne järgmise postituse lugemist), on järgmised:
Kuid on ka teisi võimalusi.
Kuid tõenäoliselt kasutan järgmise postituse jaoks midagi sellist nagu Timber .