TinyButStrong

TinyButStrong
TinyButStrong
Tbs logo1 94x51.gif
Тип

Обработчик шаблонов

Операционная система

Кроссплатформенное программное обеспечение

Последняя версия

3.8 (3 апреля 2011 г.)

Лицензия

GNU LGPL

Сайт

www.tinybutstrong.com

TinyButStrong (сокр. TBS) это относительно лёгкий интерпретирующий обработчик веб-шаблонов для PHP.[1] В ряде интернет обзоров перечислен в списке лучших обработчиков шаблонов на PHP.[2][3][4]

Содержание

Особенности

Инструмент TinyButStrong был спроектирован таким образом, чтобы можно было разрабатывать шаблоны при помощи простого использования визуальных редакторов (например, Dreamweaver или FrontPage), а также он позволяет создавать скрипты JavaScript в динамическом режиме. Данный инструмент содержит в себе всего 8 функций, при этом обеспечивает высокую эффективность работы. Это позволяет объединять шаблоны с переменными PHP или системами управления базами данных MySQL, PostgreSQL или SQLite.

В отличие, например, от Smarty не является вариацией на тему процедурного языка программирования а использует механизмы привязки тегов шаблона к структуре и тегам HTML. Это упрощает его использование с WYSIWYG редакторами HTML. Также включает средства непосредственного подключения SQL запросов (без предварительного формирования из них массивов) к шаблонам TBS и.т.д.

Разработчики относят TBS к шаблонным системам третьего типа, где первый тип — это использование в качестве шаблонной системы самого PHP, а второй — программируемые шаблоны, такие как в Smarty.

Библиотека реализована в виде PHP-класса, который может быть расширен пользовательскими плагинами и распространяется под лицензией LGPL. Плагины включает в себя набор функций PHP или один класс PHP, который должны соответствовать специальному синтаксису, рассчитанному шаблонизатором TBS. Например: плагины базы данных - упрощают процесс распознания новых типов базы данных,другие плагины помогают пользователю добавлять к TBS рабочие функции или изменять его главные методы, что делает шаблонизатор более специализированным.

Пользователями различных CMS и CMF разработаны модули привязки этого шаблонного движка. Среди таких систем можно назвать Joomla,[5] MODx,[6] CodeIgniter,[7][8] Kohana,[9] Symfony[10] и др.

Класс-расширение этой библиотеки TinyButStrong OOo, позволяющий генерировать документы в формате OpenOffice, в октябре 2005 занял 5-е место в PhpClasses Innovation Award[11] — конкурсе, проводимом популярным сайтом PHPClasses.

Недостатки

Основной недостаток TBS — невысокое быстродействие. Эта библиотека выполняет достаточно сложный анализ HTML кода в момент формирования HTML-страницы из шаблона (TinyButStrong — в отличие от Smarty, это не компилирующий обработчик шаблонов). Впрочем проблема может быть решена путём подключения плагина кеширования.

Другой тонкий момент заключается в том, что при всей простоте начального освоения этого обработчика шаблонов, для его достаточно «продвинутого» использования необходимо понимать внутренние механизмы работы библиотеки. В противном случае слишком легко написать шаблон с ошибкой, непредусмотренным поведением, или имеющий катастрофически низкое быстродействие.

Простота использования TinyButStrong (особенно совместно с WYSIWYG редакторами HTML) часто приводит к применению его в сайтах-однодневках, которые из за отсутствия поддержки или ошибок в исходном коде веб-приложения вскоре перестают нормально функционировать. Поиск в google по строке «TinyButStrong error» даёт достаточно грустную статистику подобной «популярности» этой библиотеки.

Пример кода

Следующий код выведет содержимое таблицы MySQL в виде «полосатой» HTML таблицы.

HTML часть:

<html>
<body>
<p align="center" class="title-page">Пример подключения данных из MySQL</p>
<table border="1" align="center" cellpadding="2" cellspacing="0">
  <tr bgcolor="#CACACA">
    <td width="50"><strong>Место</strong></td>
    <td width="150"><strong>Ник</strong></td>
    <td width="50"><strong>Очков</strong></td>
    <td width="100"><div align="center"><strong>Дата</strong></div></td>
  </tr>
  <tr bgcolor="#F0F0F0">
    <td>[blk1.#]</td>
    <td>[blk1.res_name;block=tr]</td>
    <!-- выражение block=tr декларирует границы блока, неявного цикла по записям blk1 -->
    <td><div align="right">[blk1.res_score]</div></td>
    <td><div align="center">[blk1.res_date;frm='mm-dd-yyyy']</div></td>
  </tr>
  <!-- два одноимённых блока трактуются как секции одного и того же блока, -->
  <!-- которые, если не указано иное, выполняются последовательно друг за другом -->
  <tr bgcolor="#E6E6E6">
    <td>[blk1.#]</td>
    <td>[blk1.res_name;block=tr]</td>
    <td><div align="right">[blk1.res_score]</div></td>
    <td><div align="center">[blk1.res_date;frm='mm-dd-yyyy']</div></td>
  </tr>
  <!-- Секция NoData выполняется только если блок не содержит данных -->
  <tr bgcolor="#E6E6E6">
    <td colspan="4" bgcolor="#FFCFB9">[blk1;block=tr;nodata]Данные отсутствуют.</td>
  </tr>
</table>
<p align="center">Выведено [blk1.#] строк.</p>
</body>
</html>

PHP-часть:

<?php
 
include_once('tbs_class.php') ;
 
// Подключаемся к БД
if (!isset($_SERVER)) $_SERVER=&$HTTP_SERVER_VARS ; //PHP<4.1.0
require($_SERVER['DOCUMENT_ROOT'].'/cnx_mysql.php');
// Файл cnx_mysql.php содержит следующие строки:
//  $cnx_id = mysql_connect('localhost','user','password') ;
//  mysql_select_db('dbname',$cnx_id) ;
 
// создаём экземпляр TBS
$TBS = new clsTinyButStrong ;
// подгружаем шаблон
$TBS->LoadTemplate('tbs_us_examples_datamysql.htm') ;
// подключаем данные для вывода в таблице
$TBS->MergeBlock('blk1',$cnx_id,'SELECT * FROM t_tbs_exemples') ;
// закрываем БД
mysql_close($cnx_id) ;
// Выводим HTML
$TBS->Show() ;
 
?>

Примечания

  1. Timothy Boronczyk (Author), Martin E. Psinas (Contributor) Ch. 1 User Registration / Templates // PHP and MySQL: create-modify-reuse. — Wrox (англ.)русск., May 5, 2008. — P. 11. — 341 p. — (Programmer to Programmer). — ISBN 0470192429
  2. 19 Promising PHP Template Engines и ссылка на эту статью на phpdeveloper.org
  3. Top 25 PHP template engines
  4. Ищем альтернативу Смарти
  5. Dynamic Articles with TinyButStrong
  6. TinyButStrong template engine to ModX
  7. TinyButStrong Template Engine
  8. Thomas Myer Ch 1. Welcome to MVC World / A Slighty Diffrent Approach: Templates / Using Third Party Templating Systems // Professional CodeIgniter. — 1 edition. — Wrox (англ.)русск., July 28, 2008. — С. 18. — ISBN 0470282452
  9. TinyButStrong template engine in Kohana PHP framework
  10. sfTinyDoc plugin
  11. TinyButStrong OOo (OpenOffice, office) — PHP Classes

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "TinyButStrong" в других словарях:

  • TinyButStrong — Infobox Software name = TinyButStrong developer = latest release version= 3.4.0 latest release date = release date|2008|06|16 operating system = Cross platform genre = Template Engine license = website = http://www.tinybutstrong.com/TinyButStrong …   Wikipedia

  • Templatesprache — Eine Template Engine (von engl. Vorlage und Antrieb, Motor) ist eine Software, die eine Datei (das Template) verarbeitet, und bestimmte Platzhalter darin mit jeweils aktuellen Inhalten füllt. Die Bezeichnungen Templateklasse und Templatesystem… …   Deutsch Wikipedia

  • Templatesystem — Eine Template Engine (von engl. Vorlage und Antrieb, Motor) ist eine Software, die eine Datei (das Template) verarbeitet, und bestimmte Platzhalter darin mit jeweils aktuellen Inhalten füllt. Die Bezeichnungen Templateklasse und Templatesystem… …   Deutsch Wikipedia

  • Template engine (web) — A (web) template engine is software that is designed to process web templates and content information to produce output web documents. It runs in the context of a template system.pecific types of template engines Template engine is ordinarily… …   Wikipedia

  • Template processor — A template processor (also known as a template engine or a template parser )is software or a software component that is designed to combine one or more templates with a data model to produceone or more result documents.cite book last = Niemeyer… …   Wikipedia

  • CodeIgniter — Тип Программный каркас для создания веб приложений Разработчик EllisLab, Inc. Операционная система Кроссплатформенный Последняя версия 2.1.3 (8 октября …   Википедия

  • Template Engine — Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf… …   Deutsch Wikipedia

  • TBS — TBS: Tokyo Broadcasting System телевизионная станция в Токио, Япония Turner Broadcasting System медиа компания, владеющая сетями CNN, TBS, TNT, Cartoon Network, Adult Swim, Boomerang, truTV и сетью Turner Classic Movies TBS (телеканал) кабельный… …   Википедия

  • Шаблонизатор — (в web)  это программное обеспечение, позволяющее использовать html шаблоны для генерации конечных html страниц. Основная цель использования шаблонизаторов  это отделение представления данных от исполняемого кода. Часто это необходимо… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»