Ця стаття містить текст, що не відповідає . (квітень 2010) |
Smarty — це компілюючий обробник шаблонів до PHP. Надає інструменти, які дозволяють домогтися відділення прикладної логіки й даних від відображення. Це дуже зручно в ситуаціях, коли програміст і верстальник шаблону працюють окремо.
Тип | |
---|---|
Розробник | New Digital Group, Inc. |
Стабільний випуск | 3.1.11 (20 червня 2012 ) |
Операційна система | Кросплатформенне програмне забезпечення |
Мова програмування | PHP[1] |
Ліцензія | GNU LGPL |
Репозиторій | github.com/smarty-php/smarty |
Вебсайт | www.smarty.net |
Можливості
Smarty дозволяє:
- Створювати функції та модифікатори користувача.
- Використовувати роздільники тегів шаблону.
- Включати PHP-код прямо в шаблон.
- Користувальницькі функції кешування.
- Використання .
Для спрощення створення масштабованих вебзастосунків в Smarty вбудований механізм кешування.
Механізм дії
Smarty читає файли шаблонів та створює PHP-код на їх основі. Код створюється один раз і потім лише виконується тому немає необхідності обробляти файл шаблона для кожного та кожний шаблон може користуватися всіма перевагами розширень PHP для кешування байт-коду, таких як eAccelerator [ 3 травня 2019 у Wayback Machine.] або PHP Accelerator [ 15 березня 2016 у Wayback Machine.]. Smarty став, ймовірно, першою шаблонною бібліотекою, яка використала такий механізм. Пізніше з'явилося безліч аналогів, що використовують як smarty-подібний синтаксис шаблонів (Twig [ 1 вересня 2011 у Wayback Machine.] або Quicky [ 7 січня 2014 у Wayback Machine.]), так й інші підходи до синтаксису шаблонів.
Компіляція шаблонів дозволяє досягти продуктивності, порівнянної з продуктивністю PHP-шаблонів, написаних вручну. Конструкції if/elseif/else/e передаються обробникові PHP, так що синтаксис виразу {if… } може бути натільки простим або складним, наскільки це потрібно. Можливо необмежене вкладення секцій, умов і т. д.
Приклад коду
HTML-сторінка з тегами Smarty:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> <head> <title>{$title_text}</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-5" /> </head> <body> {* коментар, якого не буде в HTML коді *} <p>{$body_text}</p> </body><!--коментар, який буде в HTML коді--> </html>
Логіка роботи PHP-скрипту нижче:
define('SMARTY_DIR', 'smarty-2.6.22/'); require_once(SMARTY_DIR. 'Smarty.class.php'); $smarty = new Smarty(); $smarty->template_dir = './templates/'; $smarty->compile_dir = './templates/compile/'; $smarty->cache_dir = './templates/cache/'; $smarty->caching = false; $smarty->error_reporting = E_ALL; // LEAVE E_ALL DURING DEVELOPMENT $smarty->debugging = true; $smarty->assign('title_text', 'TITLE: Приклад використання Smarty...'); $smarty->assign('body_text', 'BODY: Це текст, виведений ф-цією assign() '); $smarty->display('index.tpl');
Див. також
Примітки
- The smarty Open Source Project on Open Hub: Languages Page — 2006.
- Fabien Potencier. Templating Engines in PHP [ 17 січня 2013 у Wayback Machine.] (переклад [ 17 лютого 2012 у Wayback Machine.]), Templating engines in PHP — Follow-Up [ 4 грудня 2012 у Wayback Machine.] (переклад [ 8 лютого 2012 у Wayback Machine.])
Посилання
- Офіційний сайт Smarty [ 27 травня 2010 у Wayback Machine.] (англ.)
- Посібник по Smarty [ 18 жовтня 2010 у Wayback Machine.] (укр.)
- російськомовна документація до smarty та php [ 16 квітня 2010 у Wayback Machine.] (рос.)
Ця стаття потребує додаткових для поліпшення її . (січень 2018) |
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya mistit tekst sho ne vidpovidaye enciklopedichnomu stilyu Bud laska dopomozhit udoskonaliti cyu stattyu pogodivshi stil vikladu zi stilistichnimi pravilami Vikipediyi Mozhlivo mistit zauvazhennya shodo potribnih zmin kviten 2010 U Vikipediyi ye statti pro inshi znachennya cogo termina Smart Smarty ce kompilyuyuchij obrobnik shabloniv do PHP Nadaye instrumenti yaki dozvolyayut domogtisya viddilennya prikladnoyi logiki j danih vid vidobrazhennya Ce duzhe zruchno v situaciyah koli programist i verstalnik shablonu pracyuyut okremo SmartyTipRozrobnikNew Digital Group Inc Stabilnij vipusk3 1 11 20 chervnya 2012 12 rokiv tomu 2012 06 20 Operacijna sistemaKrosplatformenne programne zabezpechennyaMova programuvannyaPHP 1 LicenziyaGNU LGPLRepozitorijgithub com smarty php smartyVebsajtwww smarty netMozhlivostiSmarty dozvolyaye Stvoryuvati funkciyi ta modifikatori koristuvacha Vikoristovuvati rozdilniki tegiv shablonu Vklyuchati PHP kod pryamo v shablon Koristuvalnicki funkciyi keshuvannya Vikoristannya Dlya sproshennya stvorennya masshtabovanih vebzastosunkiv v Smarty vbudovanij mehanizm keshuvannya Mehanizm diyiSmarty chitaye fajli shabloniv ta stvoryuye PHP kod na yih osnovi Kod stvoryuyetsya odin raz i potim lishe vikonuyetsya tomu nemaye neobhidnosti obroblyati fajl shablona dlya kozhnogo ta kozhnij shablon mozhe koristuvatisya vsima perevagami rozshiren PHP dlya keshuvannya bajt kodu takih yak eAccelerator 3 travnya 2019 u Wayback Machine abo PHP Accelerator 15 bereznya 2016 u Wayback Machine Smarty stav jmovirno pershoyu shablonnoyu bibliotekoyu yaka vikoristala takij mehanizm Piznishe z yavilosya bezlich analogiv sho vikoristovuyut yak smarty podibnij sintaksis shabloniv Twig 1 veresnya 2011 u Wayback Machine abo Quicky 7 sichnya 2014 u Wayback Machine tak j inshi pidhodi do sintaksisu shabloniv Kompilyaciya shabloniv dozvolyaye dosyagti produktivnosti porivnyannoyi z produktivnistyu PHP shabloniv napisanih vruchnu Konstrukciyi if elseif else e peredayutsya obrobnikovi PHP tak sho sintaksis virazu if mozhe buti natilki prostim abo skladnim naskilki ce potribno Mozhlivo neobmezhene vkladennya sekcij umov i t d Priklad koduHTML storinka z tegami Smarty lt DOCTYPE html PUBLIC W3C DTD XHTML 1 1 EN http www w3 org TR xhtml11 DTD xhtml11 dtd gt lt html gt lt head gt lt title gt title text lt title gt lt meta http equiv content type content text html charset iso 8859 5 gt lt head gt lt body gt komentar yakogo ne bude v HTML kodi lt p gt body text lt p gt lt body gt lt komentar yakij bude v HTML kodi gt lt html gt Logika roboti PHP skriptu nizhche define SMARTY DIR smarty 2 6 22 require once SMARTY DIR Smarty class php smarty new Smarty smarty gt template dir templates smarty gt compile dir templates compile smarty gt cache dir templates cache smarty gt caching false smarty gt error reporting E ALL LEAVE E ALL DURING DEVELOPMENT smarty gt debugging true smarty gt assign title text TITLE Priklad vikoristannya Smarty smarty gt assign body text BODY Ce tekst vivedenij f ciyeyu assign smarty gt display index tpl Div takozhTwigPrimitkiThe smarty Open Source Project on Open Hub Languages Page 2006 d Track Q124688 Fabien Potencier Templating Engines in PHP 17 sichnya 2013 u Wayback Machine pereklad 17 lyutogo 2012 u Wayback Machine Templating engines in PHP Follow Up 4 grudnya 2012 u Wayback Machine pereklad 8 lyutogo 2012 u Wayback Machine PosilannyaOficijnij sajt Smarty 27 travnya 2010 u Wayback Machine angl Posibnik po Smarty 18 zhovtnya 2010 u Wayback Machine ukr rosijskomovna dokumentaciya do smarty ta php 16 kvitnya 2010 u Wayback Machine ros Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno sichen 2018 Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi