Smarty

Szoftver screenshot:
Smarty
Szoftver adatai:
Változat: 3.1.5
Feltöltés dátuma: 11 May 15
Engedély: Ingyenes
Népszerűség: 1

Rating: nan/5 (Total Votes: 0)

Smarty valójában nem egy "Template Engine", lenne pontosabban leírni, mint a "Template / Előadás keret." Azaz, ez biztosítja a programozó és sablontervezőt rengeteg szerszám feladatok automatizálására gyakran foglalkozott a megjelenítési réteg egy alkalmazás. Hangsúlyozom a szót Framework, mert Smarty nem egy egyszerű tag-helyettesítő sablon motor. Bár lehet használni egy ilyen egyszerű a célra, amelynek fókuszában az gyors és fájdalommentes fejlesztését és telepítését az alkalmazás, miközben nagy teljesítményű, a skálázhatóság, a biztonság és a jövőbeni növekedést.
Tehát Smarty Ön számára? Mi jön le, hogy ez a megfelelő eszköz a munka. Ha azt szeretnénk, egyszerű, változó csere, akkor érdemes megnézni valamit egyszerűbb vagy akár roll a saját. Ha szeretnél egy robosztus sablonrendszer keret számos eszközt nyújt segítséget, az alkalmazás fejlődik a jövőben, Smarty valószínűleg egy jó választás.
Miért használja azt?
Az egyik Smartys elsődleges tervezési célok elősegítése szétválasztása alkalmazás kódot bemutatása. Jellemzően az alkalmazás kódját tartalmazza az üzleti logikát az alkalmazás, írt és tart a PHP kódot. Ez a kód által fenntartott programozók. Az előadás, ahogy a tartalmat mutatja, hogy a végfelhasználó, ami meg van írva, és fenntartotta a sablon fájlokat. A sablonok által fenntartott sablon tervezők.
A legalapvetőbb funkciója, az alkalmazás kódját gyűjt tartalmat, hozzárendeli a sablon motor és megjeleníti azt. A tartalom lehet valamit, mint a főcím, tagline, szerző és test egy újságcikk. Az alkalmazás kódját nem törődik, hogy ez a tartalom kerül bemutatásra a sablont. A sablon tervező felelős a bemutatót. Ezek a sablon szerkesztéséhez fájlokat, hozzátéve, jelölő és abban, hogy a befejezésig. Ez általában a dolgok, mint HTML, CSS és egyéb eszközök által nyújtott sablon motor.
Ez a paradigma több célt szolgál:
) A tervezők nem tudja megtörni alkalmazás kódját. Ők is szórakozz a sablonokat minden akarnak, de a kód sértetlen marad. A kód feszesebb lesz, biztonságosabb és könnyebb karbantartani.
) Hibák a sablonok korlátozódnak a Smartys hibakezelő rutin, így egyszerű és intuitív amennyire lehetséges, a designer.
) A prezentáció saját rétegén, a tervezők módosíthatja, vagy teljesen áttervezni a semmiből, minden beavatkozás nélkül a programozó.
) A programozók nem szórakozik sablonokat. Ők mehetnek fenntartásáról szól az alkalmazás kódját, megváltoztatja a tartalom szerzett, új üzleti szabályok, stb zavarása nélkül a megjelenítési réteg.
) A sablonok szoros képviselete, mi a végső kimenet lesz, ami egy intuitív megközelítés. A tervezők nem érdekel, hogy a tartalmat kapott a sablont. Ha idegen adatokat a sablont, mint egy SQL utasítást, ez megnyitja az megtörhet alkalmazás kódját a véletlen törlés vagy változtatás a tervező.
) Ön nem megnyitását a szervert, hogy a végrehajtás tetszőleges PHP kód. Smarty számos biztonsági funkcióval beépített, így a tervezők nem sérti a biztonság, akár szándékos, akár véletlen. Ők csak azt, amit korlátozódnak a sablonokat.
Bár alkalmazás kódját elválasztjuk a prezentáció, ez nem jelenti szükségszerűen azt, hogy a logika elválasztjuk. Az alkalmazás kódját nyilván logika, de a sablonokat lehet logika alapján azzal a feltétellel, hogy ez a bemutató csak. Például, ha a tervező azt akarja, hogy felváltva táblázat sor színek vagy nagybetűt néhány rendelt tartalmat, amennyit csak tudnak. Ez prezentációs logika, amit a programozó nem kell aggódniuk a. Milyen gyakran már néhány bemutatót egy oszlopba, majd te akartad két vagy három oszlopban, így az alkalmazás kódját kell alkalmazkodni kell befogadni ezt? A jobb megközelítés rendelni a tartalom egyetlen tömb és hagyja, hogy a sablon kezelni a bemutatót. Ez egyszerűsíti az alkalmazás és tartsa sablonok rugalmas. Smarty szállítja az eszközöket kezelni az ilyen helyzetet.
Ez nem azt jelenti, hogy Smarty megakadályozza, hogy üzembe alkalmazási logikát a sablont, akkor kell, hogy legyen egy kis önfegyelmet. Íme egy példa a beágyazott üzleti logika a sablont (ez így van, kerülje el ezt, ha egyáltalán lehetséges):
{If $ smarty.session.user és ($ user_type ekvivalens "szerkesztő" vagy $ user_type ekv "admin")}
szerkesztés
{/ If}
A logika ellenőrzi, hogy a felhasználó be van jelentkezve, és ők sem egy szerkesztő vagy rendszergazda, akkor azokat szerkesztheti ezt, így a szerkesztés jelölőnégyzetet felbukkan. Ez az a logika, hogy tartozik az alkalmazás kódját. A sablon nem érdekel, hogy mi hitelesítő ez a felhasználó rendelkezik, csak tudnia kell, ha a mezőben jelenik meg, vagy nem! Tehát nézzük meg egy megfelelőbb megközelítés:
{If $ edit_flag}
szerkesztés
{/ If}
Rajtunk múlik, hogy az alkalmazás programozó rendelni a $ edit_flag, egy egyszerű és könnyen érthető változó a sablont. Így a sablon már nem támaszkodnak a mögöttes adatok struktúrája. Ha a formátum a munkamenet adatok szerkezete sem változik, semmit nem kell beállítani a sablon.
Most nézzük meg néhány dolog, amit tehetünk a Smarty. Egy dolog, amit tehet, egyedi funkciók. Ezek a címkék a sablont, hogy végre egy bizonyos feladat. Példa:
{Html_image file = "masthead.gif"}
Itt van egy funkció az úgynevezett "html_image". Ez a funkció a képet adott a "file" attribútumot és nem minden a munka szükséges, hogy dolgozzon ki az alábbi HTML kódot:

A kép funkciója nem a házimunka kitalálni a magasság és a szélesség és ellátása az alapértelmezett határ zászlót. Természetesen lehet csak használni a statikus HTML tag a sablon helyett, de ez azt mutatja, hogy egy egyedi funkció lehet használni, hogy egyszerűsítse a nagyon gyakori feladat. A tervező összpontosítani tervezési és kevésbé a technikai dolgokat. Továbbá, ha a tervező úgy dönt, hogy dobja a különböző méretű masthead kép, a sablon nem kell beállításával.
html_image egy olyan funkció, hogy jön a Smarty. Azt is, hogy saját egyéni funkciók. Itt egy újabb példa arra, mit nézhet ki:
{Html_link type = "article" id = "abc123" text = "Tűz előveszi Hotel"}
Ez egy olyan egyedi funkció az úgynevezett "html_link". Jön fel a következő HTML kódot:
Tűzoltó előveszi Hotel
Mit jelent ez elérni? Az egyik, a tervező nem kell, hogy az érintett a formátum egy URL egy cikket. A kódolt URL, mi történik, ha egy nap a programozó úgy dönt, hogy tiszta a dolgokat, és megváltoztatja az URL szintaxis /display_article.php?id=abc123 a / ART / abc123? Mi meg kell szerkeszteni, minden sablon egy cikk URL. Ez is csak egy példa arra, hogy a sablon funkció lehet, hogy sablonokat könnyebb fenntartani.
Most egy kicsit a programozók és a sablonokat. Korábban már említettük, hogy a programozó nincs ellátás, amit a sablonok köze a tartalomhoz. Fogalmi szinten ez igaz, de a valóságban nem fogod elvárni a sablontervezőt, hogy meg kell építeni a sablonokat a semmiből. Végtére is, az üzleti logika nem határozza meg, hogy milyen tartalom van rendelve a sablonokat. Szóval, a programozó általában beállítási csontváz sablonokat a tervező kezdeni. Ez általában tartalmazza a nyers elemeket is tartalmaznak, például a változók és a rész hurkok, és talán néhány egyszerű jelölő címkéket, így nem indul a tartalom egy nagy káosz. Íme egy példa egy csontváz sablon végiglépked a cikkek listája és megjeleníti azokat egy táblázatban:


{Section name = art loop = $ cikket}


{/ Szakasz}
{$ cikket [art] .headline}
{$ cikket [art] .date}
{$ cikket [art] .author}

A kimenet valahogy így néz ki:







Hogyan the West Was Won
2 december 1999
John Wayne
csapat veszít, Coach kilép
2 február 2002
John Smith
Gourmet Főzés
január 23, 1954
Betty Crocker

Most néhány gyakori kérdésre:
Miért használ sablonokat egyáltalán? Mi olyan nehéz írásról Helyett {$ title}?
A dolgok könnyebb olvasni nem volt tervezési célt, hanem inkább egy mellékhatás. A sablonok használata hatalmas előnyökkel, amelyek közül sok már kifejtettük. Mivel mi vagyunk a sablon környezetben egyébként, {$ title} kevesebb idegen, mint a , Különösen, ha elkezdi nézi azt a hosszú oldalak tartalmát, így ez elég nyilvánvaló, hogy egyszerűbb szabályokkal segít abban, hogy sablonokat könnyebben olvasható és fenntartása.
Sablon idő kell elemezni, hogy alkalmazások sokkal lassabb.
Ez igaz lehet bizonyos esetekben, de Smarty ez nem lassabb, mint a végrehajtó egy PHP script. Az első végrehajtását egy sablont, Smarty átalakítja a sablon fájlokat PHP szkriptek (más néven sablon összeállítása.) Ezután a PHP script csak benne. Pár ezt a PHP gáz- és akkor valóban van egy gyors sablonrendszer környezetet minimális rezsi.
Smarty túl bonyolult, hogy hogyan lehet az, hogy gyorsan?
Smarty alapvető elég sovány figyelembe vesszük, mit is képes. A legtöbb funkcionalitásában rejlik plugins. A plugin architektúra kialakítása olyan, hogy csak a szükséges bővítmények betöltése igény. Ezzel a keret, hozzátéve, akár több száz új pluginek nem befolyásolja a teljesítményt. Ez teszi Smarty gyors, méretezhető és rugalmas.
Smarty is caching tulajdonságait, amelyek dinamikusan frissíteni, és tartsa részeit oldal gyorsítótáron kívüli át a szeretet. Caching tárolja a kimenet a lefordított sablonok, mentés szükségességét, hogy végre őket minden könyörgése.
Mindez beszélni gyorsítók, hogyan Smarty futni nélkül?
Igazából ez fut elég jól nélküle. Smarty nem igényel egy gyorsító, de a sablon fájlokat magukat kihasználják az egyik, ami egyedülálló a Smarty (AFAIK). Ha nincs egy gyorsító, sablon végrehajtása nem olyan gyors, de nem lassú bármilyen eszközzel, mivel azok nem lesznek értelmezve! Te is megtartja az összes többi előnyeit és jellemzői Smarty. Továbbá, mivel a gyorsítók szabadon hozzáférhető nincs igazán mentség, hogy nem használja az egyik. Ők segítenek teljesítményt minden PHP alkalmazások segítségével Smarty vagy sem.
Hogy lehet könnyebb fenntartani?
Vannak dolgok, amiket nem lehet megmagyarázni, de csak tapasztalt. Az előny szétválasztása az alkalmazás logikát a bemutató nem lehet eléggé hangsúlyozni. Smarty is van néhány szép hibakezelés funkciók és beépített hibakereső konzolon, így láthatja a sablon hierarchiájához és rendelt változók egy pillanat alatt. Hozzátéve, egyéni jellemzőit Smarty olyan egyszerű, mint vidd a plugin könyvtárban és megemlíti azokat a sablont.
A template címkék nem XML alapú, My szerkesztő nem tetszik.
A {} határoló csak egy alapértelmezett, ők könnyű felismerni körében HTML. Ha nem tetszik nekik, változtassa meg a határoló vagy talán valami több, mint XMLish Vannak is sok felhasználó járulékok Dreamweaver és hasonlók, nekik egy pillantást a szerkesztései területen.
Ez Smarty dióhéjban, remélhetőleg akkor add meg a eszköztárát webes alkalmazás épületben. Ahhoz, hogy valóban többet, olvassa el a kézikönyvet fentről lefelé, csatlakozzon a fórumok és lásd, amit az emberek tárgyalunk.

Tulajdonságok :

  • gyorsítótárral: Smarty nyújt finomszemcsés caching tulajdonságait cache egészét vagy egy részét egy renderelt weboldalt, vagy elhagyja részei gyorsítótáron kívüli. A programozók lehet regisztrálni sablon funkcionál cacheable vagy nem gyorsítótárazható, csoportos tárolt oldalait logikai egység a könnyebb kezelése, stb.
  • Configuration Files: Smarty lehet rendelni változók kihúzták konfigurációs fájlokat. Sablon tervezők fenntartani értékek közösek számos sablon egy helyen beavatkozása nélkül a programozó, és config változó könnyedén megoszthatók a programozás és bemutatása része a kérelmet.
  • Biztonság: A sablonok nem tartalmaznak PHP kódot. Ezért a sablontervezőt nem elszabadult a teljes erejét PHP, de csak a részhalmaza funkcionalitás rendelkezésükre bocsátani a programozó (alkalmazás kódját.)
  • Könnyen kezelhető és karbantartható: weblap tervezők nem foglalkozunk a PHP kód szintaktikai, hanem egy könnyen használható sablonrendszer szintaxis nem sokban különbözik, mint a sima HTML. A sablonok egy nagyon szoros képviselete a végső kimenet, drámaian lerövidíti a tervezési ciklusban.
  • Változó módosítók: A tartalom rendelt változók könnyen beállítható a kijelző időben a módosító, mint például a megjelenítő minden nagybetűt, html-megszökött, formázás dátumok, csonkolása szöveg blokkokat, hozzátéve terek közötti karaktereket, stb Again ez úgy történik beavatkozás nélkül a programozó.
  • Sablon Funkciók: Több funkció elérhető a sablontervezőt kezelni feladatokat, mint a termelő HTML kódot szegmensek (dropdowns, asztalok, pop-up, stb), a tartalom megjelenítése más sablonok-line, a ciklusok a tömbökön tartalom , szöveg formázása az e-mail kimenet, kerékpározás, bár a színek, stb.
  • Filters: A programozó a teljes irányítást a sablon kimenet és lefordított sablon tartalom pre-szűrők, post-szűrők és output-szűrők.
  • Erőforrások: A sablonok ki lehet húzni a akárhány forrásból létesülő új erőforrás rakodók, akkor használja azokat a sablonokat.
  • Dugó: Szinte minden szempontból a Smarty ellenőrzött alkalmazása révén plugins. Ezek általában olyan egyszerű, mint, hogy vidd be a plugin könyvtárba, majd megemlíteni azokat a sablon, vagy használja őket a alkalmazás kódját. Sok felhasználó-közösség járulékok is rendelkezésre állnak. (Lásd a plugins rész a fórum és a wiki.)
  • Add-ons: Sok felhasználó-közösség által Firefox-kiegészítők állnak rendelkezésre, mint Pagination, Forma validálása, legördülő menük, Calander dátuma kincskeresők, stb Ezek az eszközök segítenek felgyorsítani a fejlesztési ciklus, nincs szükség újra feltalálni a kereket, vagy a debug kódot, amely már stabil és készen áll a bevetésre. (Lásd a kiegészítőket, részben a fórum és a wiki.)
  • hibakeresés: Smarty jön egy beépített hibakereső konzolon, így a sablontervezőt látható minden hozzárendelt változók és a programozó vizsgálja template rendering sebességgel.
  • összeállítása: Smarty lefordul sablonok PHP kódot a színfalak mögött, így futásidejű elemzés sablonok.
  • Performance: Smarty rendkívül jól teljesít, annak ellenére, hogy hatalmas szolgáltatásához. A legtöbb Smarty képességeit rejlik plugins betöltött on-demand. Smarty jön számos prezentációs eszközök, minimalizálva az alkalmazás kódját, és a hatékonyabb, kevesebb hibalehetőséget alkalmazás fejlesztés / telepítését. Smarty sablonokat kap össze, hogy a PHP fájlok belsőleg (egyszer), kiküszöbölve a költséges sablon fájlt vizsgál, és kihasználva a sebesség PHP op-kódot gyorsítók.

Mi az új ebben a kiadásban:

  • visszatér szuper globális hozzáférés változások, és inkább támaszkodnak USE_SUPER_GLOBALS számára biztonsági

Mi az új verzióban 2.6.23:

  • strip fordított aposztróffal re {math} egyenletek (mohrt)
  • dobás hiba, amikor a sablon létezik, de nem olvasható (mohrt)

Mi az új verzióban 2.6.22:

  • Ebben a kiadásban probléma felmerült a Smarty 2.6 0,21 kiadás és a PCRE motor hiba PHP 5.2. Módszer láncolás eltávolításra került, hogy elkerüljék a bug. Módszer láncolás újra megjelenik a Smarty 3.

Más szoftver fejlesztő New Digital Group, Inc.

Smarty
Smarty

13 Apr 15

Hozzászólások a Smarty

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!