TinyButStrong
| TinyButStrong | |
| Файл:Tbs logo1 94x51.gif | |
| Тип | Обработчик шаблонов |
| ОС | Кроссплатформенное программное обеспечение |
| Версия | 3.5.1 (9 декабря 2009 г.) |
| Лицензия | GNU LGPL |
| Сайт | www.tinybutstrong.com |
TinyButStrong (сокр. TBS) это относительно лёгкий интерпретирующий обработчик веб-шаблонов для PHP. В ряде интернет обзоров перечислен в списке лучших обработчиков шаблонов на PHP.[1][2][3].
В отличие, например, от Smarty не является вариацией на тему процедурного языка программирования а использует механизмы привязки тегов шаблона к структуре и тегам HTML. Это упрощает его использование с WYSIWYG редакторами HTML. Также включает средства непосредственного подключения SQL запросов (без предварительного формирования из них массивов) к шаблонам TBS и.т.д.
Разработчики относят TBS к шаблонным системам третьего типа, где первый тип — это использование в качестве шаблонной системы самого PHP, а второй — программируемые шаблоны, такие как в Smarty.
Библиотека реализована в виде PHP-класса, который может быть расширен пользовательскими плагинами и распространяется под лицензией LGPL.
Пользователями различных CMS и CMF разработаны модули привязки этого шаблонного движка. Среди таких систем можно назвать Joomla[4], MODx[5], CodeIgniter[6], Kohana[7], Symfony[8] и др.
Класс-расширение этой библиотеки TinyButStrong OOo, позволяющий генерировать документы в формате OpenOffice, в октябре 2005 занял 5-е место в PhpClasses Innovation Award[9] — конкурсе, проводимом популярным сайтом PHPClasses.
Недостатки
Основной недостаток TBS — невысокое быстродействие. Эта библиотека выполняет достаточно сложный анализ HTML кода в момент формирования HTML-страницы из шаблона (TinyButStrong — в отличие от Smarty, это не компилирующий обработчик шаблонов). Впрочем проблема может быть решена путём подключения плагина кеширования.
Другой тонкий момент заключается в том, что при всей простоте начального освоения этого обработчика шаблонов, для его достаточно «продвинутого» использования необходимо понимать внутренние механизмв работы библиотеки. В противном случае слишком легко написать шаблон с ошибкой, непредусмотренным поведением, или имеющий катастрофически низкое быстродействие.
Простота использования TinyButStrong (особенно совместно с WYSIWYG редакторами HTML) часто приводит к применению его в сайтах-однодневках, которые из за отсутствия поддержки или ошибок в исходном коде веб-приложения вскоре перестают нормально функционировать. Поиск в google по строке «TinyButStrong error» даёт достаточно грустную статистику подобной «популярности» этой библиотеки.
Пример кода
Следующий код выведет содержимое таблицы MySQL в виде "полосатой" HTML таблицы.
HTML часть: <source lang="xml"> <html> <body>
Пример подключения данных из MySQL
| Место | Ник | Очков | Дата |
| [blk1.#] | [blk1.res_name;block=tr] | [blk1.res_score] |
[blk1.res_date;frm='mm-dd-yyyy'] |
| [blk1.#] | [blk1.res_name;block=tr] | [blk1.res_score] |
[blk1.res_date;frm='mm-dd-yyyy'] |
| [blk1;block=tr;nodata]Данные отсутствуют. | |||
Выведено [blk1.#] строк.
</body> </html> </source>
PHP-часть: <source lang="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() ;
?> </source>
Примечания
- ↑ 19 Promising PHP Template Engines и ссылка на эту статью на phpdeveloper.org
- ↑ Top 25 PHP template engines
- ↑ Ищем альтернативу Смарти
- ↑ Dynamic Articles with TinyButStrong
- ↑ TinyButStrong template engine to ModX
- ↑ TinyButStrong Template Engine
- ↑ TinyButStrong template engine in Kohana PHP framework
- ↑ sfTinyDoc plugin
- ↑ http://www.phpclasses.org/browse/package/2624.html
См. также
Ссылки
- www.tinybutstrong.com (англ.) — Официальный сайт
- Ищем альтернативу Смарти, статья на hostinfo.ru
| Программирование | Это незавершённая статья о программировании. Вы можете помочь проекту, исправив и дополнив её. |
| ПО | Это незавершённая статья о свободном программном обеспечении. Вы можете помочь проекту, исправив и дополнив её. |
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....