Смарти

Из Википедије, слободне енциклопедије
Смарти
Smarty-logo.gif
Развој Monte Ohrt, Messju Mohr
Најновија верзија 2.6.19 / 11. фебруар 2008.
Врста Систем за креирање веб шаблона
Лиценца LPGL
Веб адреса www.smarty.net

Смарти је систем за креирање шаблона веб страница написаних у PHP-у. Као такав, он служи за раздвајање имплементације дотичне веб странице од њене презентације, што олакшава одржавање и њеног изгледа и њене функционалности, као и паралелан рад програмера и дизајнера. Чињеница да омогућава проширивање скупа команди, као и коришћење PHP кода када је то неизбјежно, чини Смарти врло флексибилним алатом за одржавање шаблона веб страница.

Смартијев код се у основи састоји од обичног HTML кода, у који се умећу Смартијеве команде. Након обраде PHP-овог преводиоца, резултујући код је обичан HTML спреман за приказ у веб прегледачу.

Команде Смартија се означавају витичастим заградама; то могу бити команде за приказ садржаја промјенљивих, команде за контролу тока, тј. петље и гранања, и функције, које могу бити уграђене у Смартију и дефинисане од стране програмера.

Примјер[уреди]

Слиједи примјер једне скрипте написане у PHP-у и одговарајућег шаблона написаног у Смартију.

<?php
// Датотека "tablicaMnozenja.php"
 
// У односу на локацију скинутог пакета, у код се укључује дефиниција Смартија
define("SMARTY_DIR", "smarty-2.6.9/" );
require_once(SMARTY_DIR. "Smarty.class.php");
 
// Формира се објекат Смартија, помоћу којег се извршава сва даља „комуникација“
// PHP-а и Смартија.
$smarti = new Smarty();
$tablicaMnozenja = Array();
 
// Смарти ће видјети само оне промјенљиве које се припреме помоћу метода „assign“
$smarti->assign("naslov", „Таблица множења: " );
for ($i = 1; $i <= 10; $i++ ) {
    $tablicaMnozenja[$i] = Array();
    for ($j = 1; $j <= 10; $j++ )
        $tablicaMnozenja[$i][] = $j;
}
$smarti->assign("tablicaMnozenja", $tablicaMnozenja );
 
// Када су све промјенљиве спремне, може се позвати метода „display“ да би се
// приказао наш шаблон
$smarti->display("tablicaMnozenja.tpl" );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
   <title>{$naslov|escape}</title>
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
 
<body>
 
{* Штампа се наслов странице, из промјенљиве „naslov“, чија је вриједност била
   додијељена Смартијевом командом „assign“ *}
<h1>{$naslov|escape}</h1>
 
<table border="1">
{* Двоструком петљом штампају се производи елемената дводимензионалног низа *}
{foreach from="$tablicaMnozenja" key="y" item="yOsa"}
<tr>
    {foreach from="$yOsa" item="x"}
        <td>{$y * $x}</td>
    {/foreach}
</tr>
{/foreach}
</body>
</html>

Извори[уреди]

Спољашње везе[уреди]