Smarty

Software screenshot:
Smarty
Podrobnosti Software:
Verze: 3.1.5
Datum uploadu: 11 May 15
Licence: Volný
Popularita: 1

Rating: nan/5 (Total Votes: 0)

Smarty není ve skutečnosti "Template Engine", to by bylo přesněji popsat jako "Šablona / Prezentace rámce." To znamená, že poskytuje programátor a šablony designér s množstvím nástrojů pro automatizaci úkolů obvykle řešeny na prezentační vrstvy žádosti. Zdůrazňuji Framework slovo, protože Smarty není jednoduchý tag-výměně šablony motoru. Ačkoli to může být použit pro takový jednoduchý účel, její zaměření je na rychlé a bezbolestné vývoje a nasazení aplikace, při zachování vysoké-výkon, škálovatelnost, bezpečnost a budoucí růst.
Takže má Smarty pro vás to pravé? Co to přijde, je pomocí správný nástroj pro práci. Chcete-li jednoduchý variabilní výměnu, možná budete chtít podívat na něco jednoduššího, nebo dokonce vrátit své vlastní. Pokud chcete, robustní templating rámec s řadou nástrojů, které vám pomohou, jak vaše aplikace vyvine do budoucna, Smarty je pravděpodobně dobrá volba.
Proč používat?
Jeden z Smartys primární cílů návrhu je usnadnit oddělení kódu aplikace od prezentace. Typicky, kód aplikace obsahuje obchodní logiku vaší žádosti, písemné a udržovaná v PHP kódu. Tento kód je udržována programátory. Prezentace je způsob, jakým váš obsah je prezentován ke koncovému uživateli, který je napsán a udržován v souborech šablony. Šablony jsou udržovány návrháři šablony.
Na nejzákladnější funkce, kód aplikace shromažďuje obsah, přiřadí jej na templátovou motoru a zobrazí jej. Obsah může být něco jako headline, slogan, autor a tělo novinového článku. Kód aplikace nemá obavy, jak bude tento obsah prezentovány v šabloně. Konstruktér šablona je zodpovědný za prezentaci. Oni upravit soubory šablony, vkládání poznámek a přinášet ji až do konce. To typicky zahrnuje věci, jako je HTML tagy, kaskádových stylů a dalších nástrojů poskytovaných šablony motorem.
Tento vzor slouží několika účelům:
) Návrháři nemohou zlomit kód aplikace. Mohou si s šablonami všechno, co chtějí, ale kód zůstane neporušený. Kód bude těsnější, bezpečnější a snadněji se udržuje.
) Chyby v šablonách jsou omezeny na odstraňování chyb rutiny Smartys, což je tak jednoduché a intuitivní, jak je to možné pro návrháře.
) S prezentací na jeho vlastní vrstvy, mohou návrháři upravit nebo zcela redesign ji od nuly, to vše bez zásahu programátora.
) Programátoři nejsou probírat s šablonami. Mohou jít o udržení kód aplikace, mění způsob, jakým obsah je získáno, navazování nových obchodních pravidel, atd bez narušení prezentační vrstvu.
) Šablony jsou blízký reprezentace toho, co bude konečný výstup, což je intuitivní přístup. Návrháři nezajímá, jak se obsah dostal do šablony. Pokud máte nadbytečné údaje v šabloně, jako je příkaz SQL, to otevírá riziko prolomení kódu aplikace pomocí náhodného vymazání nebo změnou projektant.
) Nejste otevření server pro spuštění libovolného kódu PHP. Smarty má mnoho funkcí zabezpečení vybudovanou tak designérů nebude porušení bezpečnosti, ať už úmyslné nebo náhodné. Oni mohou dělat jen to, co oni jsou omezeny na v šablonách.
I když kód aplikace je oddělena od prezentace, nemusí to nutně neznamená, že logika je oddělena. Kód aplikace má samozřejmě logiku, ale šablony mohou mít logiku na základě předpokladu, že je určen pouze pro prezentaci. Například, pokud projektant chce střídat řádku tabulky barev nebo horní-případ přidělen určitý obsah, mohou. To je prezentace logika, něco, co programátor by neměli být znepokojeni, s. Jak často jste měli nějaké prezentaci zobrazeny v jednom sloupci, a pak si ji chtěl ve dvou nebo ve třech sloupcích, takže kód aplikace potřebuje přizpůsobení ubytovat to? Lepším přístupem je přiřadit obsah v jednom poli a nechat zpracovat šablonu prezentace. Tím se zjednoduší vaši žádost, a aby se vaše šablony flexibilní. Smarty dodává nástroje zvládnout tento druh situace.
To neznamená, že Smarty vám brání uvedení aplikační logiku v šabloně, budete mít trochu sebekázeň. Zde je příklad vkládání obchodní logiku v šabloně (to je pravda, vyhýbat se dělat to, pokud je to vůbec možné):
{If $ smarty.session.user a ($ user_type eq "editor" nebo $ user_type eq "admin")}
editovat
{/ If}
Logické zkontroluje, zda je uživatel přihlášen a oni jsou buď editor nebo správce, pak oni mají dovoleno editovat to tak políčko upravit ukáže. To je logika, která patří do kódu aplikace. Šablona se nestará o tom, co pověření tento uživatel má, to prostě potřebuje vědět, zda se zobrazí textové pole, nebo ne! Takže pojďme se podívat na vhodnější přístup:
{If $ edit_flag}
editovat
{/ If}
Je až do aplikace programátor postoupit $ edit_flag, jednoduché a snadno srozumitelné proměnnou v šabloně. Tímto způsobem šablona je již spoléhat na své základní datové struktury. Pokud formát datové struktury relace někdy změní, je třeba upravit v šabloně nic.
Nyní umožňuje podívat se na pár věcí, které můžete dělat s Smarty. Jedna věc, kterou může udělat, je vlastní funkce. Ty jsou tagy v šabloně, které vykonat určitý úkol. Příklad:
{Html_image file = "masthead.gif"}
Zde máme funkci nazvanou "html_image". Tato funkce má obraz uvedeny v "souboru", atribut a dělá veškerou práci nutné přijít s následující HTML kód:

Funkce obraz dělal fuška přijít na to, na výšku a šířku a dodává výchozí hranice příznak. Samozřejmě můžete jen použít statické HTML tag v šabloně místo, ale to ukazuje, jak může být vlastní funkci využity ke zjednodušení velmi společný úkol. Projektant tak může zaměřit na design a méně na technické věci. Kromě toho, v případě, že se rozhodne konstruktér k poklesu v jiné velikosti stěžně obrazu, šablona nepotřebuje seřizování.
html_image je funkce, která přichází s Smarty. Můžete si také vytvořit své vlastní funkce. Zde je další příklad toho, co by se dalo vypadat:
{Typ html_link = "článek" id = "abc123" text = "Oheň vytáhne Hotel"}
To se používá vlastní funkci nazvanou "html_link". To přijde až s následující HTML kód:
Fire vytáhne Hotel
Co to dokázat? Za prvé, není třeba se soustředit na formátu adresy URL na článek návrhář. S pevně adres URL, co se stane, když jednoho dne programátor rozhodne vyčistit věci do pořádku, a mění syntax URL ze /display_article.php?id=abc123 do / art / abc123? Museli bychom upravit každou šablonu s článkem URL. To je jen další příklad toho, jak šablona funkce může šablony jednodušší na údržbu.
Nyní trochu na programátory a šablon. Dříve to bylo zmíněno, že programátor nemá péči o to, co šablony dělat s obsahem. Na koncepční úrovni je to pravda, ale v reálném světě, nebudete očekávat návrháře šablon muset postavit všechny šablony ze vzduchu. Koneckonců, obchodní logiky dělá určit, jaký obsah je přiřazena šablony. Takže, programátor bude typicky nastavení kostra šablony pro návrháře, aby začít. To obvykle obsahuje nezpracovaná prvky, jako jsou proměnné obsahu a § smyček, a možná pár jednoduchých značkovacích tagy, takže nemají začít s obsahem ve velkém nepořádku. Zde je příklad kostry šablony, která prochází seznam článků a zobrazí je v tabulce:


{Název sekce = art loop = $ článek}


{/ Sekce}
{$ článek [umění] .headline}
{$ článek [umění] .date}
{$ článek [umění] .author}

Výstup může vypadat nějak takto:







Jak západ byl vyhrán
02.12.1999
John Wayne
tým prohraje, trenér ukončí
02.2.2002
John Smith
Gurmet
23 leden 1954
Betty Crocker

Nyní pro některé běžné otázky:
Proč používat šablony vůbec? Co je tak těžké o psaní Namísto {$ title}?
Dělat věci lépe číst nebyl cíl designu, ale spíše o vedlejší efekt. Použití šablon má obrovské výhody, z nichž mnohé byly vysvětleny výše. Vzhledem k tomu jsme v prostředí šablony tak jako tak, {$ title} je menší než vnější , Zvláště když začnete se dívat na to v dlouhých stránkách obsahu, takže to bylo docela zřejmé, že jednodušší syntax přispívá k tomu, šablony čitelnější a udržovat.
Šablona nějakou dobu trvat, analyzovat, takže aplikace mnohem pomaleji.
To může být pravda, v některých případech, ale s Smarty to není pomalejší než provádění PHP skript. Na prvním spuštění šablony, Smarty převádí soubory šablon do PHP skripty (tzv šablona kompilace.) Poté, PHP skript je jen součástí. Pár toto s PHP akcelerátoru a opravdu mít rychlý šablonovací prostředí s minimální režií.
Smarty je příliš složitý, jak je možné, že rychle?
Jádro Smarty je docela hubený posuzování toho, co je schopen. Většina z jeho funkčnosti spočívá v zásuvných modulů. Plugin architektura je navržena tak, aby pouze požadované pluginy jsou načteny na požádání. S tímto rámcem, bude přidání dokonce stovky nových pluginů nemá vliv na výkon. To dělá Smarty rychlý, škálovatelný a flexibilní.
Smarty má také ukládání do mezipaměti funkce, které lze dynamicky osvěžit a udržet části stránky uncached na vašich představ. Caching ukládá výstup z sestavených šablon, uložení potřebu jejich spuštění na každém vyvolání.
Všechny ty řeči o urychlovače, jak se Smarty spustit, aniž by jeden?
Vlastně to běží docela dobře, aniž by jeden. Smarty nevyžaduje urychlovač, ale šablona soubory samy o sobě bude využívat jednoho, něco, co je jedinečné Smarty (AFAIK). Pokud nemáte urychlovač, poprava šablona není tak rychlý, ale ne pomalá jakýmikoliv prostředky, protože nejsou analyzovány! Můžete také zachovat všechny ostatní výhody a funkce Smarty. Také, protože akcelerátory jsou volně k dispozici není opravdu omluva, že nebude používat jeden. Budou pomáhat výkonnost se všemi PHP aplikací pomocí Smarty, nebo ne.
Jak to může být jednodušší na údržbu?
Některé věci nemohou být vysvětleny, ale jen zkušený. Přínosem oddělení aplikační logiky od předložení nemůže být zdůrazněno dost. Smarty také má některé příjemné vlastnosti zpracování chyb a vestavěný-in ladění konzole, takže můžete vidět šablony hierarchii a přidělené proměnné na první pohled. Přidání vlastní funkce na Smarty je stejně snadné jako pád je v adresáři plugin a za zmínku je v šabloně.
Značky šablony nejsou založen na XML, můj editor se to nelíbí.
Oddělovače {} jsou jen implicitní, že jsou snadno rozeznat mezi HTML tagy. Pokud se vám nelíbí, změnit své oddělovače nebo možná něco víc XMLish jako Existuje také spousta příspěvků uživatelů na Dreamweaver a podobně, dát jim podívat do příspěvky oblasti.
To je Smarty v kostce, doufejme, že si jej můžete přidat do svého arzenálu nástrojů pro webové aplikace budovy. Chcete-li opravdu se dozvědět více, přečtěte si manuální odshora dolů, připojit fóra a zjistit, co lidé diskutují

Vlastnosti :.

  • Caching: Smarty poskytuje jemnozrnné funkce ukládání do mezipaměti pro ukládání do mezipaměti všechny nebo část z vykresleného webové stránky, nebo je opouštějící díly uncached. Programátoři mohou registrovat šablony funkce jako cacheable nebo non-necachovatelných, skupinové mezipaměti stránek do logických celků pro snadnější správu, atd.
  • Konfigurační soubory: Smarty můžete přiřadit proměnné vytáhl z konfiguračních souborů. Šablon návrháři mohou zachovat hodnoty společné pro několik šablon na jednom místě bez zásahu programátora, a konfigurační proměnné lze snadno sdílet mezi programovými a prezentační části aplikace.
  • Bezpečnost: Šablony neobsahují PHP kód. Proto, návrhář šablona není rozpoutal s plným výkonem PHP, ale pouze podmnožina funkčnosti jim zpřístupněny od programátoru (kódu aplikace.)
  • Snadné použití a údržba: Webové návrháři se nezabývají se syntaxí PHP kódu, ale místo toho syntax snadno použitelný šablonovací příliš neliší, než prostý HTML. Šablony jsou velmi blízké reprezentace konečného výstupu, dramaticky zkracuje vývojového cyklu.
  • Variabilní Modifikátory: Obsah zadaných proměnných lze snadno upravit v zobrazovacím čase s modifikátory, jako je například zobrazování v všechna velká písmena, html-unikl, formátování data, ořezávání textové bloky, přidání mezery mezi znaky, atd. Opět , toto je provedeno bez jakéhokoliv zásahu z programátoru.
  • Funkce Šablona: Mnoho funkcí jsou k dispozici návrháře šablony zvládnout úkoly, jako je vytváření segmenty HTML kód (rozbalovacích nabídkách, stoly, pop-up okna, etc.), zobrazování obsahu z jiných šablon in-line, opakování nad polí obsahu , formátování textu pro e-mailu výstup, cyklistika však barev, atd.
  • Filtry:. Programátor má úplnou kontrolu nad výstupem šablony a zkompilovaný obsah šablony s pre-filtry, post-filtry a výstupní filtry
  • Zdroje:. Šablony lze stáhnout z libovolného počtu zdrojů vytvořením nových manipulátory zdrojů, pak jejich použití v šablonách
  • Plugins: Téměř každý aspekt Smarty je řízena pomocí pluginů. Oni jsou obecně stejně snadné jako pád do adresáře pluginů a pak za zmínku je v šabloně, nebo jejich použití v kódu aplikace. Mnoho příspěvků uživatelsky komunity jsou také k dispozici. (Viz část pluginy fóra a wiki.)
  • Doplňky: Mnoho uživatelsky komunita přispěla Add-ons jsou k dispozici, jako je stránkování, tvoří validaci, rozbalovací menu, kalandr Datum Pickers, atd Tyto nástroje pomáhají urychlit vývojový cyklus, není potřeba, aby znovu vynalézat kolo nebo ladění kódu, který je již stabilní a připraven k nasazení. (Viz Add-ons část fóra a wiki.)
  • Ladění:. Smarty je dodáván s vestavěným ladění konzoli, takže návrhář šablona může vidět všechny zadaných proměnných a programátor může vyšetřovat rychlosti šablony vykreslování
  • Kompilace:. Smarty sestavuje šablony do PHP kódu v zákulisí, což eliminuje run-time parsování šablon
  • Performance: Smarty hraje velmi dobře, i přes jeho obrovskou sadu funkcí. Většina z možností Smarty je ležet v pluginů, které jsou načteny na požádání. Smarty přichází s řadou nástrojů pro prezentaci, minimalizovat kód aplikace a vede k rychlejší, méně náchylné k chybám vývoj aplikací / nasazení. Smarty šablony dostat sestaven tak, aby PHP interně (jednou) soubory, eliminuje nákladné prověřování souborů šablony a využití rychlost PHP op-code urychlovačů.

Co je nového v této verzi:

  • vrátit Super globální změny přístupu, a místo toho se spoléhat na USE_SUPER_GLOBALS pro Bezpečnost

Co je nového ve verzi 2.6.23:

  • pás backticks od {matematických} rovnic (mohrt)
  • hod chyba při existuje, šablony, ale není čitelný (mohrt)

Co je nového ve verzi 2.6.22:

  • Tato verze řeší problém setkal s Smarty 2.6 .21 uvolnění a motor chyba PCRE v PHP 5.2. Metoda řetězení byla odstraněna, aby se zabránilo chybu. Metoda řetězení se znovu objeví v Smarty 3.

Ostatní software developer New Digital Group, Inc.

Smarty

13 Apr 15

Komentáře k Smarty

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!