Programare perl

Una dintre cele mai frecvente probleme cu care se confruntă Web-programator este separarea logicii de achiziție a datelor din formatul de prezentare a datelor. Pentru a rezolva această problemă folosesc adesea șabloane HTML-document care lucrează cu programe de date completate. Acest lucru va permite să machetați paginile unei alte persoane, sau pentru a schimba aspectul paginii, fără a schimba programul în sine.

CPAN oferă programator cu o gamă de diferite instrumente pentru a lucra cu șabloane. Printre acestea: HTML :: Template. Text :: Template. set de instrumente de șabloane. De obicei, tehnica de lucru cu toate aceste module este aceeași. Programatorul creează un obiect care indică șablonul dorit, apoi a format un set de date pentru a popula șablon și șablonul se face pentru a se umple, iar rezultatul acestei înapoi sub formă de-a gata de pagini HTML. Să aruncăm o privire mai atentă la modulul HTML :: Template.

HTML :: Template permite, de asemenea, programator pentru a controla lucrul cu șabloane. De exemplu, atunci când se utilizează modulul în combinație cu mod_perl puteți utiliza șabloane parsate de cache și de a folosi rezultatele în diferite script-uri. În plus față de cache programator poate defini filtre care vor face procesarea textului generat. Toți parametrii șablonului sunt specificate atunci când creați un obiect care descrie șablonul.

Crearea unui obiect

Aici este un exemplu de creare a unui obiect dintr-un șablon situat în template.tmpl fișier. Astfel, se specifică faptul că numele șablon sunt sensibile la litere:

În cazul în care sistemul este setat variabila de mediu $ HTML_TEMPLATE_ROOT. iar șablonul este setat numele de fișier relativ, atunci numele va fi adăugată la valoarea de $ HTML_TEMPLATE_ROOT.

obținerea de rezultate

Pentru șablonul completat, pur și simplu apel la o funcție de ieșire obiectul dorit. Aceasta returnează textul generat. În acest caz, șablonul nu schimbă starea obiectului.

Pentru că de foarte multe ori rezultatul lucrării este înregistrată în fișierul, în scopul de a reduce sarcina, pe care îl utilizați parametrul print_to poate trece o funcție de descriptor de fișier de ieșire, care va fi eliberarea rezultatelor. De exemplu, ca aceasta:

introducerea variabilelor

Pentru a introduce date în șablonul pe care trebuie să-l umple cu param funcția. funcție hash PARAM transmis date ca o cheie => valoare. Pentru structuri de date complexe, cum ar fi buclele imbricate, valoarea poate fi link-uri către alte liste și semnături. Aici este un exemplu simplu de utilizare a modulului:

Pentru a utiliza variabila șablon numit VARNAME folosite pentru constructii . Valoarea plasat în funcție hash folosind param pus în aplicare această etichetă. În acest caz, vom obține documentul nu este pe deplin compatibil cu HTML. Dacă sunteți îngrijorat cu privire la sintaxa corectă a documentului, formularul de mai jos poate fi folosit în loc de această etichetă: . Acesta funcționează în același mod ca și cel precedent, dar nu încalcă corectitudinea documentului HTML. Ambele aceste forme pot fi utilizate în cadrul altor tag-uri, cum ar fi: date 1date 2. În acest caz, datele vor apărea în rezultatul 1 numai în cazul în care variabila numita IMYA_UPRAVLYAYUSCHEGO_PARAMETRA va avea o valoare adevărată, în caz contrar rezultatul va fi 2. Modulul de date permite utilizarea a numai condiții de ramură, fără a utiliza . Umplerea variabilă apare ca de obicei.

La polul opus, în acțiune tag o etichetă . Are sintaxa date și introduce datele numai în cazul în care IMYA_UPRAVLYAYUSCHEGO_PARAMETRA variabilă are o valoare falsă sau nu este determinată.

Funcția param poate fi de asemenea utilizată pentru a obține valoarea parametrului menționat. Pentru a face acest lucru, pur și simplu apelați funcția cu numele pe care îl doriți.

operator de ciclu

Important tag-ul este o etichetă care indică ciclul. Ea are sintaxa este următoarea: parte repetată. Parțial LOOP_NAME ar trebui să fie o referință la o listă de date. Această listă poate fi stocate și pur și simplu valori, precum și link-uri către alte hash-uri de date care vă permite să construiască structură arborescentă, la fel ca în exemplul următor.

Dacă vom scrie în șablonul nostru ca acest design

script-ul va umple șablonul de date:

obținem următoarea ieșire (a generat doar o parte a șablonului):

Este important să ne amintim că sunt utilizate doar în variabilele de documente din interiorul buclei. Pentru a efectua conectarea la un extern (în raport cu ciclul) variabile, trebuie să utilizați parametrul global_vars la crearea unui obiect.

alți operatori

Modulul vă permite de asemenea să includă alte șabloane un șablon care vă ajută să utilizați o parte repetitive în diferite documente. Pentru a activa fișierul filename.tmpl folosit pentru constructii . În acest caz, șablonul se poate include și o vom obține recursivitate infinit. Fii atent! La crearea unui obiect, puteți specifica ce poate fi atins adâncimea maximă a fișierelor imbricate. Acest lucru este controlat de către max_includes cheie.

concluzie

Pentru mai multe informații despre configurarea setărilor de ieșire și caracteristici, a se vedea rezultatele paginii de fundal HTML :: Template.

Pe celelalte module funcționează cu template-uri vor fi discutate în edițiile viitoare. Fișierele cu mostre de cod poate fi descărcat ca un ZIP-fișier.

articole similare