Smarty

Screenshot Software:
Smarty
Detalii soft:
Versiune: 3.1.5
Incarca data: 11 May 15
Licenţă: Gratuit
Popularitate: 1

Rating: nan/5 (Total Votes: 0)

Smarty nu este de fapt un "șablon motor", ar fi descrisă cu mai multă acuratețe ca "Format / cadru Prezentare." Asta este, acesta oferă programator și șablon designerul cu o multitudine de instrumente pentru automatizarea sarcinilor de obicei tratate la nivelul de prezentare a unei cereri. Subliniez Cadrul cuvântul deoarece Smarty nu este un simplu motor de template-înlocuirea tag. Cu toate că poate fi folosit pentru un astfel de scop simplu, accentul este pe dezvoltarea și implementarea aplicației dumneavoastră rapid și nedureros, menținând în același timp de înaltă performanță, scalabilitate, securitate și creșterea economică viitoare.
Deci este Smarty potrivit pentru tine? Ce se reduce la este utilizând instrumentul potrivit pentru locuri de muncă. Dacă doriți înlocuirea variabilă simplu, ați putea dori să se uite la ceva mai simplu sau chiar rola ta. Dacă doriți un cadru templating robust, cu numeroase instrumente pentru a vă ajuta ca cererea dumneavoastră evoluează în viitor, Smarty este probabil o alegere bună.
De ce-l utilizați?
Unul dintre obiectivele de proiectare Smartys principal este de a facilita separarea codului aplicare de prezentare. De obicei, codul aplicatiei contine logica de afaceri de cererea dumneavoastră, în scris și menținute în codul PHP. Acest cod este menținută de către programatori. Prezentarea este modul dvs. de conținut este prezentat utilizatorului final, care este scris și menținut în fișiere șablon. Șabloanele sunt menținute de designeri șablon.
La funcția sa cea mai de bază, codul aplicatiei colectează conținut, atribuie-l la motorul șablon și îl afișează. Conținutul poate fi ceva de genul titlu, slogan, autorul și corpul unui articol de ziar. Codul aplicație are niciun motiv de îngrijorare cum acest conținut va fi prezentat în șablon. Design al șabloanelor este responsabil pentru prezentare. Ei edita fișierele șablon, adăugând marcaj și aducând-o la finalizare. Acest lucru implică lucruri cum ar fi tag-uri HTML, foi de stil în cascadă și alte instrumente oferite de motorul șablon.
Această paradigmă serveste mai multor scopuri:
) Designerii nu pot sparge codul de aplicare. Pot pune cu template-uri tot ceea ce doresc, dar codul rămâne intact. Codul va fi mai strânsă, mai sigur si mai usor de intretinut.
) Erori in șabloanele sunt limitate la rutinele de tratare a erorilor Smartys, făcându-le la fel de simplă și intuitivă posibil pentru proiectant.
) Cu prezentarea pe cont propriu strat, designerii pot modifica sau complet redesign-l de la zero, toate fără intervenția din programator.
) Programatorii nu sunt încurcați cu șabloane. Ei pot merge cu privire la menținerea codul aplicatiei, schimbarea modului conținutul este dobândit, face noi reguli de afaceri, etc., fără a perturba stratul de prezentare.
) Șabloanele sunt o reprezentare aproape de ceea ce va fi rezultatul final, care este o abordare intuitivă. Designerii nu-mi pasă cât conținutul ajuns la șablonul. Dacă aveți date străine în șablonul, cum ar fi o instrucțiune SQL, aceasta deschide riscul de rupere codul aplicatiei de ștergerea accidentală sau modificarea de către proiectant.
) Nu sunt de deschidere server-ul dvs. la executarea de cod arbitrar PHP. Smarty are multe caracteristici de securitate încorporate în designerii asa ca nu va încălca securitatea, indiferent dacă intenționat sau accidental. Ei pot face doar ceea ce sunt limitate în șabloanele.
Deși codul aplicatiei este separat de prezentare, acest lucru nu înseamnă neapărat că logica este separat. Codul aplicatiei are, evident, logica, dar template-uri pot avea logică bazată pe condiția ca acesta este doar de prezentare. De exemplu, în cazul în care proiectantul doreste sa alterneze culorile rânduri de masă sau cu majuscule unele conținut alocate, ele pot. Acest lucru este logic prezentare, ceva programatorul nu trebuie să fie preocupat de. Cât de des ați avut ceva de prezentare afișate într-o singură coloană și apoi vrut în două sau trei coloane, astfel încât codul aplicatiei trebuie adaptare pentru a se potrivi acest lucru? O abordare mai bună este de a atribui conținutul într-o matrice unică și lăsați șablonul se ocupe de prezentare. Acest lucru va simplifica cererea dumneavoastră și păstrați șabloane flexibil. Smarty furnizează instrumentele să se ocupe de acest tip de situație.
Acest lucru nu înseamnă că Smarty vă împiedică punerea logică aplicație în șablon, trebuie să aveți un pic de disciplină de sine. Aici este un exemplu de includere logica de afaceri din șablonul (ce-i drept, pentru a evita face acest lucru, dacă este posibil):
{Dacă $ smarty.session.user și ($ user_type eq "editor" sau $ user_type eq "admin")}
editați
{/} Dacă
Controalele logice dacă utilizatorul este logat si sunt fie un editor sau administrator, atunci li se permite să editați acest lucru pentru caseta de editare apare. Aceasta este logica care aparține în codul de aplicare. Șablonul nu-i pasă de ceea ce acreditările acest utilizator are, trebuie doar să știu dacă caseta de editare este afișat sau nu! Deci să ne uităm la o abordare mai potrivită:
{Dacă $ edit_flag}
editați
{/} Dacă
Este de până la programatorul aplicației a atribui $ edit_flag, un simplu și ușor de înțeles variabilă în șablonul. În acest fel modelul nu mai este bazându-se pe structura de date care stau la baza. În cazul în care formatul structurii de date sesiune schimba vreodată, nimic nu trebuie să fie ajustate în șablon.
Acum, vă permite uita-te la câteva lucruri pe care le puteți face cu Smarty. Un lucru se poate face este funcții personalizate. Acestea sunt tag-uri din șablon care executa o anumită sarcină. Exemplu:
{File html_image = "masthead.gif"}
Aici avem o funcție numită "html_image". Această funcție are imaginea dată în "fișierul" atributul și face toate lucrările necesare pentru a veni cu următorul cod HTML:

Funcția de imagine facut corvoada de imaginind înălțimea și lățimea și furnizarea steagul frontieră implicit. Desigur, ai putea folosi doar eticheta statice HTML în șablon în loc, dar acest lucru demonstrează cât de o funcție de personalizat poate fi utilizată pentru a simplifica o sarcină foarte frecvente. Proiectantul poate concentra pe design și mai puțin pe chestii tehnice. În plus, în cazul în care proiectantul decide să renunțe la o altă imagine dimensiune catarg, modelul nu are nevoie de reglare.
html_image este o funcție care vine cu Smarty. Puteți face, de asemenea propriile funcții personalizate. Iată un alt exemplu de ceea ce s-ar putea arata ca:
{Tip html_link = "articol" id = "abc123" text = "Foc scoate Hotelul"}
Acest lucru este utilizând o funcție particularizată numit "html_link". Ea vine cu următorul cod HTML:
Foc scoate hotel
Ce realiza acest lucru? Pentru unul, designerul nu are nevoie să fie preocupat de formatul unui URL la un articol. Cu URL-uri hard-codificate, ce se întâmplă dacă într-o zi programator decide pentru a curăța lucrurile, și schimbă sintaxa URL de la /display_article.php?id=abc123 la / ART / abc123? Ne-ar trebui să editați fiecare șablon cu un URL articol. Acesta este doar un alt exemplu al modului în funcție șablon poate face template-uri mai usor de intretinut.
Acum, pentru un pic pe programatori și șabloane. Anterior a fost menționat faptul că programatorul nu are nici o grijă pentru ceea ce fac modelele cu conținutul. La nivel conceptual acest lucru este adevărat, dar în lumea reală, nu sunt de gând să aștepte designer șablon pentru a avea de a construi toate modelele din aer subțire. La urma urmei, logica de afaceri face determina conținutul ce este atribuit șabloanele. Deci, programatorul va obicei de configurare modele schelet pentru designer pentru a începe cu. Acesta conține, de obicei, elementele prime, cum ar fi variabile de conținut și secțiunea bucle, și, poate, câteva etichete markup simplu astfel încât acestea să nu înceapă cu conținutul într-o mizerie mare. Aici este un exemplu de șablon schelet care buclele prin intermediul unei liste de articole și le afișează într-un tabel:


{Name = secțiune loop art = $ article}


{/ Secțiune}
{$ articol [art] .headline}
{$ articol [art] .Data}
{$ articol [art] .author}

Ieșirea poate arata ceva de genul asta:







Cum a fost castigat de vest
02 decembrie 1999
John Wayne
Echipa pierde, Antrenorul închide
02 februarie 2002
John Smith
Gourmet Cooking
23 ianuarie 1954
Betty Crocker

Acum, pentru unele întrebări comune:
De ce utiliza șabloane, la toate? Ce este atat de greu de scris despre În loc de {$ title}?
A face lucrurile mai ușor de citit nu a fost un obiectiv de proiectare, dar mai mult de un efect secundar. Folosind template-uri are beneficii enorme, multe dintre care au fost explicate mai sus. Din moment ce suntem într-un mediu șablon oricum, {$ title} este mai străin decât , Mai ales atunci când începe căutarea de la ea în paginile lungi de conținut, așa că a fost destul de evident că o sintaxă simplă ajută să șabloane ușor de citit și de a menține.
Șablon ia timp pentru a analiza, ceea ce face aplicatii mult mai lent.
Aceasta poate fi adevărat, în unele cazuri, dar cu Smarty nu este mai lent decât de executare un script PHP. Pe prima executarea unui șablon, Smarty convertește fișierele șablon în script PHP (numit template compilare.) După aceea, scriptul PHP este doar inclus. Cuplu acest lucru cu un accelerator PHP și aveți cu adevărat un mediu templating rapid cu aeriene minim.
Smarty este prea complicat, cum poate fi așa de repede?
Core Smarty este destul de slabă în vedere ceea ce este capabil. Cele mai multe dintre funcționalitatea se află în plugin-uri. Arhitectura plugin este conceput astfel încât numai plugin-uri necesare sunt încărcate la cerere. Cu acest cadru, adăugând chiar sute de noi plugin-uri nu va afecta performanțele. Acest lucru face Smarty rapid, scalabil și flexibil.
Smarty are, de asemenea, caracteristici de caching care poate reîmprospăta dinamic și să păstreze porțiuni ale paginii nememorate în cache la placul dumneavoastră. Caching stochează producția de template-uri compilate, salvarea necesitatea de a le executa pe fiecare invocare.
Toate aceste vorbi despre acceleratoare, cum se execută Smarty fără o?
De fapt, ruleaza destul de bine fără unul. Smarty nu are nevoie de un accelerator, dar modelul fișierele se vor profita de unul, ceva care este unic pentru Smarty (AFAIK). Dacă nu aveți un accelerator, executie template nu este la fel de rapid, dar nu lent, prin orice mijloace, deoarece acestea nu sunt analizate! Vă păstrați, de asemenea, toate celelalte beneficii și caracteristici ale Smarty. De asemenea, deoarece acceleratoarele sunt disponibile gratuit nu este cu adevărat o scuză pentru a nu folosi o. Vor ajuta performanță, cu toate aplicațiile PHP, folosind Smarty sau nu.
Cum poate fi mai usor de intretinut?
Unele lucruri nu pot fi explicate, dar numai cu experiență. Beneficiul de separare a logicii de aplicare de la prezentarea nu poate fi subliniat îndeajuns. Smarty asemenea, are unele caracteristici frumos de manipulare de eroare și o variabile built-in consola de depanare, astfel încât să puteți vedea heirarchy șablon și atribuite dintr-o privire. Adăugarea de caracteristici personalizate pentru Smarty este la fel de ușor ca cădere le în directorul plugin și menționarea lor în șablonul.
Etichetele șablon nu sunt XML bazează, Editorul meu nu-mi place.
Cele {} delimitatorii sunt doar implicit, acestea sunt ușor de a discerne între tag-uri HTML. Dacă nu vă plac, modificați delimitatori pentru a sau poate ceva mai mult XMLish ca acolo sunt, de asemenea, o mulțime de contribuții ale utilizatorilor pentru Dreamweaver și altele asemenea, le da un aspect în zona contribuții.
Asta e Smarty într-o coajă de nucă, sperăm puteti adauga la arsenalul dvs. de instrumente pentru construirea de aplicatii web. Pentru a afla mai multe într-adevăr, citiți sus manuală în jos, se alăture forumuri și să vedem ce oamenii sunt discută

Caracteristici :.

  • Caching: Smarty oferă caracteristici de caching cu granulatie fina pentru cache toate sau o parte a unei pagini web prestate, sau lăsând piese nememorate în cache. Programatorii pot înregistra funcțiile șablon ca cacheable sau non-cachable, paginile cache de grup în unități logice pentru gestionarea mai ușoară, etc.
  • fișierelor de configurare: Smarty pot atribui variabile tras la fișierele de configurare. Designerii șablon poate menține valori comune mai multor modele într-o singură locație, fără intervenția din programator, iar variabilele de configurare pot fi ușor partajate între porțiunile de programare și de prezentare a cererii.
  • Securitate: Modele nu contin cod PHP. Prin urmare, un designer șablon nu este declanșat cu putere deplină de PHP, dar numai subsetul de funcționalitate puse la dispoziția acestora de programator (codul aplicație.)
  • Ușor de utilizat și întreținut: Pagina web designerii nu este vorba de cod PHP sintaxa, ci o sintaxă ușor de utilizat de templating nu cu mult diferit de HTML simplu. Șabloanele sunt o reprezentare foarte aproape de rezultatul final, scurtarea dramatic ciclul de proiectare.
  • Modificatoare variabile: Conținutul de variabile alocate pot fi ușor ajustate la display timp cu modificatori, cum ar fi afișarea în toate majuscule,, formatare date, trunchia blocuri de text, adăugând spații între caractere, etc. Din nou a scăpat-html , acest lucru este realizat cu nici o intervenție din partea programator.
  • Funcții Format: Multe funcții sunt disponibile pentru designer șablon să se ocupe de sarcini, cum ar fi generarea de segmente de cod HTML (dropdowns, mese, pop-up-uri, etc.), afișarea conținutului de la alte modele in-line, looping peste rețele de conținut , formatare text pentru ieșire e-mail, ciclism deși culori, etc.
  • Filtre:. Programatorul are controlul complet al producției modelului și conținutului șablon compilat cu pre-filtre, post-filtre și de ieșire filtre
  • Resurse:. Șabloanele pot fi tras la orice număr de surse prin crearea de noi resurse Stivuitoare, apoi folosindu-le în șabloanele
  • Plugins: Aproape fiecare aspect al Smarty este controlată prin utilizarea de plugin-uri. Ele sunt, în general la fel de ușor ca fixarea acestora în directorul plugin și apoi menționarea lor în șablonul sau folosirea lor în codul de aplicare. Numeroase contribuții user-comunitate sunt de asemenea disponibile. (Consultați secțiunea plugin de forum și wiki.)
  • Add-ons: Mulți user-comunitate a contribuit Suplimente sunt disponibile, cum ar fi Paginare, forma de validare, Drop Down meniuri, Calander Data Culegătorii, etc. Aceste instrumente ajuta la accelerarea ciclului de dezvoltare, nu este nevoie de a re- inventa codul roata sau depanare, care este deja stabil și gata de implementare. (A se vedea partea de suplimente de pe forum și wiki.)
  • Debugging:. Smarty vine cu un built-in de depanare consolă, astfel încât proiectantul șablon poate vedea toate variabilele atribuite și programatorul poate investiga viteze șablon de redare
  • Compilarea:. Smarty compilează șabloane în cod PHP în spatele scenei, eliminarea parsing run-time de template-uri
  • Performanță: Smarty funcționează extrem de bine, în ciuda set caracteristici vast. Cele mai multe dintre capacitățile Smarty lui constau în plugin-uri care sunt încărcate la cerere. Smarty vine cu numeroase instrumente de prezentare, minimizând codul aplicare și care rezultă în mai rapid, mai puțin predispusă la erori aplicație de dezvoltare / implementare. Template-uri smarty se compilat pentru PHP fișiere intern (o dată), eliminarea costisitoare scaneaza fișier șablon și valorificarea viteza de PHP acceleratoare op-cod.

Ce este nou în această versiune:

  • reveni schimbări de acces super-globale, și în loc să se bazeze pe USE_SUPER_GLOBALS pentru securitate

Ce este nou în versiunea 2.6.23:

  • backticks benzi din {} matematica ecuații (mohrt)
  • eroare la margine atunci când există șablon, dar nu poate fi citit (mohrt)

Ce este nou în versiunea 2.6.22:

  • Această versiune abordează o problemă întâlnită cu Smarty 2.6 .21 eliberare și un motor bug PCRE în PHP 5.2. Metoda de înlănțuire a fost eliminat pentru a evita bug. Metoda de înlănțuire va re-apărea în Smarty 3.

Alte software-uri de dezvoltator New Digital Group, Inc.

Smarty
Smarty

13 Apr 15

Comentarii la Smarty

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!