2.6

на 1 сайт

1 200 руб.

безлимитная

3 000 руб.

безлимитная

бесплатно

scripto включает в себя:

  • каталог ссылок
  • каталог статей
  • каталог фирм
  • доску объявлений
Скачать скрипт каталога Купить скрипт каталога Документация
Подразделы
Демо версия

Посмотрите демо пользовательской части

Посмотрите демо административной части

логин: demo | пароль: demo

Посмотрите демо пользовательской части

Посмотрите демо административной части

логин: demo | пароль: demo

Технические требования
http://www.php.net http://www.mysql.com http://www.zend.com
Способы оплаты
Мы принимаем WebMoney

R115121084939
Z135243217371

Мы принимаем Яндекс.Деньги

41001514671372

Публикации

<< назад к списку публикаций

Просмотр публикации Основы работы со Smarty

Smarty – один из самых известных шаблонизаторов. Шаблонизатор нужен для разделения PHP-кода от HTML-кода. Если первый раз с этим сталкиваешься, преимущества такого подхода заметны не сразу, но потом ты удивляешься, как раньше мог обходиться без шаблонов.

  • Smarty довольно быстр (есть и более быстрые шаблонизаторы, но на практике узким местом в проекте является не шаблонизатор, а база данных)
  • Он эффективен, так как PHP делает за него грязную работу.
  • Никакой лишней обработки шаблонов, они компилируются только один раз. Перекомпилируются только те шаблоны, которые изменились.
  • Можно создавать пользовательские функции и модификаторы, что делает язык шаблонов чрезвычайно расширяемым.
  • Конструкции if/elseif/else/endif передаются обработчику PHP, так что синтаксис выражения {if …} может быть настолько простым или сложным, насколько вам угодно.
  • Допустимо неограниченное вложение секций, условий и т. д.
  • Встроенный механизм кеширования.

Рассмотрим примеры с использованием Smarty:

<?php     

// подключаем класс Smarty
require_once('smarty/Smarty.class.php');     

// Создаем объект класса
$smarty = new Smarty();     

// Устанавливаем папки шаблонов
// 'templates' – каталог, в котором хранятся шаблоны
// 'templates_c' - туда Smarty сохраняет скомпилированные шаблоны     

$smarty->template_dir = 'templates';
$smarty->compile_dir  = 'templates_c';      

// Получение данных их БД (в виде ассоциативного массива)
$news = $DB->query("SELECT * FROM news ORDER BY id LIMIT 0,10");     

// передаем массив в шаблонизатор
$smarty->assign('news', $news);     

/* Допустим что наша задача была в простом выводе данных в шаблон, что мы уже и сделали,
и это конечный этап – вызываем метод display() класса smarty, который выводит,
передаёт данные в шаблон, перекомпилирует (если были изменения) и выводит контент.
Методу передается имя файла шаблона, в котором как предполагается был обработан
нужным образом массив news */     

$smarty->display('news.tpl');
?>

Теперь рассмотрим непосредственно файл шаблона news.tpl, фактически это обычный html с вставками переменных и конструкций циклов. Все переменные заключены в фигурные скобки. Шаблон

<html>     

{foreach from=$news item=item}
Заголовок: {$item.title}     

Текст новости:
{item.description}     

<a href="index.php?id={$item.id}" mce_href="index.php?id={$item.id}">Подробнее...</a>
{/foreach}     

</html>

Вот собственно и все, это рабочий пример, который будет выводить 10 извлечённых нами новостей из базы данных. Может показаться, что в данном примере можно было бы обойтись обычным php с html-вставками. Но в большом проекте шаблонизатор заметно упрощает работу с проектом.

Smarty работает на любом хостинге и широко известен (довольно часто я встречал его в вакансиях). Поэтому, гораздо проще будет найти человека, работающего со Smarty нежели с другим шаблонизатором. Не нужно бояться большой документации. Никто не заставляет вас использовать весь потенциал Smarty. Вам потребуется не более 10-20% функциональности Smarty. Сам я работал еще с Blitz, но там совсем другая идеология. В нем нет многих простых фич, которые есть в Smarty. А насчет скорости приведу в пример facebook, который использует Smarty – еще раз повторюсь, что узкое место это БД и кэширование данных.

Ссылка на источник: http://ekimoff.ru/115/