Поиск по этому блогу

суббота, 1 сентября 2012 г.

Что такое Smarty?

Ответ прост. Smarty это уникальный шаблонизатор, позволяющий полностью отделить код PHP от разметки HTML.
        Вы спросите зачем?
Да всё просто. При разработке высокозагруженных проектов вы можете столкнуться с одним вопросом.Как сделать скрипт, максимально выполнимым, с затратой минимальных ресурсов сервера. Тут на помощь в 30% придёт ajax. И помощью асинхронных запросов, мы сможем сразу не обрабатывать часть скрипта. А при нажатии пользователем на определённый элемент, к которому привязано событие, от "дополучит" интересующую его информацию.

Ну и самое главное, можно использовать сразу асинхронную обработку скриптов. Вот тут нам и помогут шаблонизаторы.
Итак, у меня получилось вместить 17 500 символов html кода в 36 строчек. 22 строки PHP скрипта, 14 строк шаблонизатора.


<?php
/* Настройки START */
$smarty = new Smarty;
//$smarty->force_compile = true;
$smarty->debugging = true;
$smarty->caching = false;
$smarty->cache_lifetime = 120;
/* Настройки END */
 $db = mysql_connect('localhost', 'user', 'pass') or die('<br><b>Нет подключения к MySQL</b>');
mysql_select_db('tp', $db);
mysql_query("SET NAMES utf8");
$result = mysql_query('SELECT * FROM `bb_topics`');
$count = mysql_num_rows($result);
$i = 0;
while($i < $count){
$resulttat[$i] = mysql_fetch_row($result);
$i++;
}
$smarty->assign("FFR", $resulttat);
$smarty->display('index.tpl');
?>

А вот и код шаблона

<title>Используются технологии Smarty</title>
<body><div align="center">
{foreach from=$FFR key=k item=v}
<h1>{$v}: {$k}</h1>
<table border="2">
{foreach from=$v key=h item=g}
{if {$g} != false}
<tr><td>{$h}:</td><td>{$g}</td></tr>
{/if}
{/foreach}
</table>
{/foreach}
</div>
</body>
Вот и всё.
Думаю что всем понято. Если нет, пишите. Будем вместе разбираться.

Комментариев нет:

Отправить комментарий

Количество·просмотров