Smarty
See artikkel vajab toimetamist. (Veebruar 2010) |
Smarty on mallimootor, mis on kirjutatud PHPs. Smarty eraldab PHP HTMList ja põhiliselt kasutatakse teda dünaamilise HTML sisu tekitamiseks, lubades dokumendis spetsiaalseid Smarty märgendeid. Lubatud märgendite hulgas on muuhulgas muutujad nagu {$muutuja}, ja valik loogika ning tsükli operaatoreid.
Kõige sagedamini kasutatakse Smartyt PHP-põhistes rakendustes, et eraldada "äriloogikat" esitlusest. Nii on võimalik hoida lähtekoodi palju puhtamana ja tema muutmine on paindlikum. Näiteks võib tavaliselt muuta Smarty-põhise rakenduse välimust (või, rüüd) hõlpsasti, ilma, et peaks üldse jälgima äriloogikat või PHP koodi.
Smarty võimaldab mallidega programmeerimisel kasutada:
- regulaaravaldisi
- foreach'i
- if
- nl2br
ja palju teisi lisavõimalusi. Ka teised mallimootorid toetavad neid käske mallides.
Lähtekoodi näidis
[muuda | muuda lähteteksti]Kuna Smarty eraldab PHP HTMList, on tegemist kahe failiga:
<!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-1" /> </head> <body> {* See on väike kommentaar, mis ei ole HTML lähtekoodis nähtav *} <p>{$body_text}</p> </body><!-- see on väike kommentaar, mis on HTML lähtekoodis nähtav --> </html>
Äriloogika lähtekoodis saab Smarty häälestada kasutama seda malli:
define('SMARTY_DIR', 'smarty-2.6.9/' ); require_once(SMARTY_DIR . 'Smarty.class.php'); $smarty = new Smarty; $smarty->config_dir = SMARTY_DIR; $smarty->template_dir = './tmpl'; $smarty->compile_dir = './tmpl/compile'; $smarty->compile_check = TRUE; $smarty->debugging = FALSE; $smarty->assign('title_text', 'See on Smarty lihtne näidis ...'); $smarty->assign('body_text', 'See on sõnum, mis seati assign() käsuga'); $smarty->display('basic.htm');
Tarkvara, mis on kirjutatud Smarty baasil
[muuda | muuda lähteteksti]- Bitweaver
- last.fm
- bBlog
- Gallery
- Ozone PHP Framework
- TikiWiki
- XOOPS
- paFileDB
- ATK - Achievo ToolKit
- Zoop Framework for PHP
- Supersite
- CMScout
- Flickr
- Trybes by Accepté (Netherlands)
Ametlik Smarty allikate veebileht.
Vaata ka
[muuda | muuda lähteteksti]- PRADO, komponendipõhine veebiarendusraamistik PHP5le
- CakePHP, PHP veebiarendusraamistik inspireerituna Ruby on Railsist
Välislingid
[muuda | muuda lähteteksti]- Ametlik Smarty koduleht (inglise keeles)
- Smarty Foorum (inglise keeles) - teised keeled
- Smarty kasutajate Wiki
- PHP Templating with Smarty Cezar Floroiu - Smarty õpetus
- Smarty versus XML/XSLT - DevPapers.com, Sergei Makogon
- Artikkel "Templates, Gift from Heaven or Syntactic Junk Food?", Nathan Oostendorp
- Peatükk Smarty PHP Template Programming and Applications raamatust.