Php și twig crează șabloane de pagini web

Php și twig crează șabloane de pagini web

De regulă, toate șabloanele sunt similare unul cu celălalt și diferă doar prin anumite caracteristici și detalii specifice. Sarcina principală a șablonilor este de a împărți logica de afaceri a aplicației și de a scoate datele pe pagină, permițând astfel dezvoltatorilor și designerilor să lucreze simultan, fără a-și scurge creierul celuilalt.







Multe cadre PHP, printre care: Zend Frameworkd, Agavi, CackPHP și CodeIgniter, implementează separarea logicii de afaceri și a datelor în modul lor propriu. Cu toate acestea, dacă nu vă plac cadrele sau proiectul dvs. este prea mic pentru a le utiliza, atunci puteți utiliza un anumit sistem de construire a șabloanelor. Din fericire, avem multe de ales. Smartym Savant, Dwoo. această listă poate continua și continua, dar în acest articol vă voi arăta cum să lucrați cu șablonul Twig.

Există multe modalități de a instala Twig. Cea mai ușoară și mai rapidă este descărcarea unei componente de la GitHub. atunci arhiva trebuie să fie despachetată și directorul lib trebuie transferat în folder cu proiectul nostru.

Înainte de a trece direct la chestiune, să ne uităm la principiul șablonilor. Media PHP cerere constă dintr-un set de pagini care includ atât codul HTML statice (meniuri, liste, imagini, etc.) și conținut dinamic (date din baza de date, fișierul XML, servicii, ...). Utilizând Twig, putem împărți aceste procese prin crearea de șabloane cu marcaje speciale, care vor fi înlocuite cu conținut dinamic.

Valorile acestor markeri sunt formate în principal în scriptul PHP; există, de asemenea, comunicarea cu baza de date, xml parsing și alte tipuri de operațiuni. Astfel, pagina dvs. va fi construită pe baza a două surse: un șablon cu inserturi speciale și scripturi PHP, unde stocăm funcționalitatea principală. Acest lucru îi permite dezvoltatorilor PHP și designerilor să lucreze simultan pe aceleași pagini.

Să mergem la afaceri

Pentru a vedea cum lucrează Twig, vă propun să luați în considerare un exemplu simplu:

Salvați acest fișier templates / thanks.tmpl. Rețineți că toți marcatorii care sunt variabile sunt plasați în bretele duble. O astfel de înregistrare îi va spune lui Twig unde și cum să introducă datele.

Apoi, trebuie să creați scenariul principal, unde vor apărea formarea variabilelor și a datelor:

Prin urmare, dacă deschideți această pagină în browser, veți vedea următoarele:

Php și twig crează șabloane de pagini web

Pentru a utiliza Twig, trebuie să parcurgeți următorii pași:

  1. Inițializați aplicația Twig de încărcare automată, pentru ca clasele de șabloane să fie încărcate automat.
  2. Inițializați încărcătorul șablonului. În cazul nostru, acesta este Twig_Loader_FileSystem. Ca argument, trecem calea către directorul cu șabloane.
  3. Creați un obiect al Twig-ului însuși și treceți-l la setările deja configurate.
  4. Încărcați șablonul de care aveți nevoie cu metoda loadTemplate, trecând numele șablonului pe care îl utilizați. Ca rezultat, metoda returnează o instanță a șablonului.
  5. Creați o matrice a formularului "cheie-valoare", unde cheile sunt numele variabilelor, iar valorile sunt datele de ieșire din șablon. Apoi, această matrice trebuie transferată la metoda rendering (), care va combina modelul cu datele transferate și va returna rezultatul generat.

Twig ne permite, de asemenea, să creăm expresii condiționate "if-else-endif". exemplu:

În funcție de numărul generat în scriptul principal PHP, șablonul va afișa unul dintre cele două mesaje. Aici este un script în care un număr de la 0 la 30 este generat și verificat pentru paritate:

dar aici este rezultatul:

De asemenea, putem face verificări pe mai multe niveluri "if-elseif-else-endif". exemplu:

Și aici este scenariul în care generăm numărul lunii și îl transmitem șablonului:

Twig acceptă, de asemenea, bucla "pentru". Este foarte convenabil dacă trebuie să mergem printr-o matrice. exemplu:

În acest exemplu, avem o simplă matrice non-asociativă. La fiecare iterație, vom primi un element și îl vom afișa în elementul de listă. Iată scriptul:

Php și twig crează șabloane de pagini web

Pentru a trece prin matricea asociativă, putem accesa cheile prin intermediul "punctului". exemplu:







Pentru a ajunge la valorile matricei din șablon, vom scrie mai întâi numele variabilei în care este stocată matricea însăși. Apoi am pus punctul și scriem numele cheii, prin care obținem datele:

Php și twig crează șabloane de pagini web

Aceeași abordare poate fi aplicată pentru a lucra cu obiecte.

Dumpări de date

Desigur, puteți utiliza ciclurile atunci când trimiteți date din baza de date. exemplu:

În următorul fragment de cod, folosesc conexiunea PDO la baza de date a MySQL "world". Dacă doriți să încercați acest exemplu, trebuie să creați singur baza de date:

Aici merită remarcate câteva lucruri:

Folosim metoda getchObject (), care va returna rândurile din tabel ca obiecte. Numele câmpurilor vor corespunde denumirilor coloanelor. Apoi plasăm aceste obiecte într-o matrice și le transmitem șablonului. În șablon, folosim o buclă și scoatem datele.

În acest exemplu, folosim de asemenea filtrul `escape` încorporat în Twig. În mod implicit, acest filtru utilizează funcția htmlspecialchars () pentru a filtra datele. Aceasta este o bună protecție împotriva atacurilor XSS.

Încărcarea șablonului

Pentru a demonstra, imaginați-vă că acest cod este șablonul principal:

Toate secțiunile acestei pagini sunt în fișiere separate și sunt conectate aici folosind comanda `include`. Să vedem cum arată fișierele:

Și aici este scriptul principal PHP:

Rețineți că nu este necesar să încărcați toate șabloanele cu funcția loadTemplate. Principalul lucru este să conectați șablonul principal. Fiecare sub-șablon mic este încărcat automat. Variabilele și valorile transmise șablonului principal vor fi disponibile în toate șabloanele plug-in.

Php și twig crează șabloane de pagini web

Filtrarea datelor

În acest articol am abordat deja subiectul filtrelor. Să vedem ce alte posibilități oferite de Twig în acest domeniu.

Să examinăm, de exemplu, filtrul "data". Acest filtru ne dă posibilitatea de a genera o dată și o oră folosind markeri PHP nativi. exemplu:

De asemenea, puteți utiliza filtrele "superioară", "inferioară", "valorificați", "titlu" pentru a controla literele de capital și majuscule:

Filtrul `striptags` elimină toate elementele HTML și XML din text:

Filtrul "înlocuiți" ne permite să înlocuim rapid și ușor unele valori din șir cu cele de care avem nevoie. exemplu:

Ați văzut deja filtrul "escape" în acțiune. Twig are, de asemenea, un filtru care face acțiunea absolut opusă - `raw`. Ar trebui să fie folosit numai pentru codul html, pe care îl considerați 100% sigur.

Dacă trebuie să utilizați `escape` la un bloc mare de cod, puteți utiliza autoescape` syntax`, care trece o valoare boolean adevărat / fals pentru activarea și dezactivarea filtrare` escape`. exemplu:

Acum știți deja mai multe despre Twig-e și puteți folosi condițiile, buclele și filtrele.

Ultimele 5 lecții din rubrica "PHP"

Când vine vorba de securitatea site-ul web, expresia „Filter toate, totul scăpa“ vor fi întotdeauna relevante. Astăzi, să vorbim despre filtrarea datelor.

  • Expressive 2 acceptă posibilitatea conectării altor componente ZF pe un circuit special. Nu toată lumea îi place această decizie. În acest articol, vom descrie modul de îmbunătățire a procesului de conectare a mai multor module.

  • Să presupunem că trebuie să trimiteți câteva informații în Google Analytics din scriptul de pe server. Cum se face. Răspunsul este în această notă.

  • O selecție de mai multe tipuri de nisip PHP. Pe unele veți putea să vă puneți codul online, dar există și soluții pe care le puteți implementa pe site-ul dvs.

    Ar fi mai bine să începeți dezasamblarea Symfony 2, odată ce a trecut o astfel de băutură. Aici s-ar atinge o ramură și o doctrină și multe componente mai frumoase ale acestui cadru minunat. Adevărat dacă lecțiile de „Construirea unui CMS in PHP si MySQL“ părea să fie oarecum o prostie, dar odată ce abonați pentru a ajuta la dezvoltarea de instrumente de proiectare, noul nivel ar fi util multora.

    Sunt de acord că tema simfoniei 2 este interesantă și demnă de atenție. Totuși, nu uitați că Twig este un instrument complet independent. Utilizatorii pot fi exemple utile de a lucra numai cu el. Un studiu calitativ este împărțit în porțiuni.

    Sunt de acord cu tine. Twig, ca aproape orice componentă simfony, este independentă. Mi-am sugerat să urmez calea "de la opusul". După dezasamblarea Symfony 2 - veți analiza, de asemenea, fiecare componentă foarte valoroasă. Deși simfonia "înghiți" nu este în întregime pentru toată lumea în putere și, probabil, abordarea ruseller este mai adecvată. Sper că Twig nu este cea mai recentă componentă Symfony dezasamblată.

  • Aș fi foarte recunoscător dacă ați face un exemplu folosind PHP, care ar trebui să contribuie cu ceva la baza de date. deoarece încă nu înțeleg cum să legați PHP și ramura: (

    Php și twig crează șabloane de pagini web

    Prin obținerea de informații imediat prin două canale (vedere și auz), eficiența predării este mult mai mare decât învățarea din cărți. Și temele și testele online vă vor permite să gândiți în mod constant în limba pe care o învățați și să vă verificați imediat cunoștințele!

    Php și twig crează șabloane de pagini web

    Php și twig crează șabloane de pagini web

    Dacă doriți să învățați HTML mult timp, atunci am o veste bună pentru dvs.!

    Php și twig crează șabloane de pagini web

    Dacă ați învățat deja HTML și doriți să treceți mai departe, următorul pas este să învățați tehnologia CSS.

    Php și twig crează șabloane de pagini web

    Dacă doriți să înțeleagă conceptele de domeniu si hosting, învață cum să creeze o bază de date, încărca fișiere pe un site web prin intermediul unui server FTP, crea subdomenii, configurați cutiile poștale pentru site-ul și să monitorizeze participarea, acest curs este conceput special pentru tine!







    Articole similare

    Trimiteți-le prietenilor: