Diminutoperofuerte

diminutoperofuerte
Tipo de Procesador de plantillas
Escrito en PHP
Sistema operativo Software multiplataforma
ultima versión 3.9 (26 de enero de 2014)
Licencia GNU LGPL
Sitio web tinybutstrong.com

TinyButStrong (abbr. TBS) es un motor de plantilla web interpretativo relativamente ligero para PHP [ 1] . Incluido en una serie de revisiones de Internet como los mejores controladores de plantillas PHP [2] [3] [4] .

Características

La herramienta TinyButStrong ha sido diseñada para poder diseñar plantillas con el simple uso de editores visuales (como Dreamweaver o FrontPage ) y también permite crear scripts JavaScript de forma dinámica. Esta herramienta contiene solo 8 funciones, a la vez que proporciona un alto rendimiento. Esto permite combinar plantillas con variables de PHP o sistemas de gestión de bases de datos MySQL , PostgreSQL o SQLite .

A diferencia de, por ejemplo, Smarty no es una variación del tema de un lenguaje de programación procedimental, sino que utiliza mecanismos para vincular etiquetas de plantilla a la estructura y etiquetas HTML . Esto facilita su uso con editores HTML WYSIWYG . También incluye herramientas para conectar consultas SQL directamente (sin formación preliminar de matrices a partir de ellas) a plantillas TBS, etc.

Los desarrolladores se refieren a TBS como un tercer tipo de sistemas de plantillas, donde el primer tipo es el uso de PHP como sistema de plantillas , y el segundo son plantillas programables, como en Smarty .

La biblioteca se implementa como una clase de PHP que puede ampliarse mediante complementos personalizados y distribuirse bajo la licencia LGPL . Los complementos incluyen un conjunto de funciones de PHP o una sola clase de PHP que debe ajustarse a una sintaxis especial calculada por el motor de plantillas de TBS. Por ejemplo: complementos de bases de datos: simplifican el proceso de reconocimiento de nuevos tipos de bases de datos, otros complementos ayudan al usuario a agregar funciones de trabajo a TBS o cambiar sus métodos principales, lo que hace que el motor de plantillas sea más especializado.

Los usuarios de varios CMS y CMF han desarrollado módulos vinculantes para este motor de plantillas. Entre tales sistemas se encuentran Joomla , [5] MODx , [6] CodeIgniter , [7] [8] Kohana , [9] Symfony [10] , etc.

La clase de extensión TinyButStrong OOo de esta biblioteca, que permite generar documentos en el formato OpenOffice.org , ganó el quinto lugar en octubre de 2005 en el PhpClasses Innovation Award [11]  , un concurso realizado por el popular sitio web PHPClasses .

Desventajas

La principal desventaja de TBS es su lento rendimiento. Esta biblioteca realiza un análisis bastante complejo del código HTML en el momento de generar una página HTML a partir de una plantilla (TinyButStrong, a diferencia de Smarty, este no es un procesador de plantillas de compilación). Sin embargo, el problema se puede resolver conectando un complemento de almacenamiento en caché.

Otro punto sutil es que, a pesar de la sencillez del desarrollo inicial de este motor de plantillas, para su uso suficientemente “avanzado”, es necesario entender los mecanismos internos de la librería. De lo contrario, es demasiado fácil escribir una plantilla con un error, un comportamiento no deseado o un rendimiento catastróficamente lento.

La facilidad de uso de TinyButStrong (especialmente cuando se combina con editores de HTML WYSIWYG ) a menudo conduce a su uso en sitios de vuelo nocturno que, debido a la falta de soporte o errores en el código fuente de la aplicación web, pronto dejan de funcionar. normalmente. Una búsqueda en Google de la línea "TinyButStrong error" arroja estadísticas bastante tristes sobre la "popularidad" similar de esta biblioteca.

Código de ejemplo

El siguiente código generará el contenido de una tabla MySQL como una tabla HTML "rayada" .

parte HTML:

<html> <body> <p align= "center" class= "title-page" > Ejemplo de conexión de datos de MySQL </p> <table border= "1" align= "center" cellpadding= "2" cellpacing= " 0 " > <tr bgcolor= "#CACACA" > <td width= "50" ><strong> Ubicación </strong></td> <td width= "150" ><strong> Nick </strong></ td > <td ancho= "50" ><strong> Puntos </strong></td> <td ancho= "100" ><div align= "centro" ><strong> Fecha </strong></div> < /td> </tr> <tr bgcolor= "#F0F0F0" > <td> [blk1.#] </td> <td> [blk1.res_name;block=tr] </td> <!-- bloque de expresión =tr declara los límites del bloque, un bucle implícito sobre los registros de blk1 --> <td><div align= "right" > [blk1.res_score] </div></td> <td><div align= "center" > [blk1.res_date;frm='mm-dd-yyyy'] </div></td> </tr> <!-- dos bloques del mismo nombre se tratan como secciones del mismo bloque, --> < !-- que, a menos que se especifique lo contrario, se ejecutan secuencialmente --> <tr bgcolor= "#E6E6E6" > <td> [blk1.#] </td> <td> [blk1.res_name;block=tr] </ td> <td><div align= "right" > [blk1.res_score] </di v></td> <td><div align= "center" > [blk1.res_date;frm='mm-dd-yyyy'] </div></td> </tr> <!-- Sección NoData se ejecuta solo si el bloque no contiene datos --> <tr bgcolor= "#E6E6E6" > <td colspan= "4" bgcolor= "#FFCFB9" > [blk1;block=tr;nodata]Sin datos. </td> </tr> </table> <p align= "center" > [blk1.#] salida de filas. </p> </cuerpo> </html>

Parte PHP:

<?php include_once ( 'tbs_class.php' ) ; // Conectarse a la base de datos if ( ! isset ( $_SERVER )) $_SERVER =& $HTTP_SERVER_VARS ; //PHP<4.1.0 require ( $_SERVER [ 'DOCUMENT_ROOT' ] . '/cnx_mysql.php' ); // El archivo cnx_mysql.php contiene las siguientes líneas: // $cnx_id = mysql_connect('localhost','user','password') ; // mysql_select_db('nombrebd',$cnx_id) ; // instanciar TBS $TBS = new clsTinyButStrong ; // cargar plantilla $TBS -> LoadTemplate ( 'tbs_us_examples_datamysql.htm' ) ; // conectar datos para mostrar en la tabla $TBS -> MergeBlock ( 'blk1' , $cnx_id , 'SELECT * FROM t_tbs_exemples' ) ; // cerrar la base de datos mysql_close ( $cnx_id ) ; // Mostrar HTML $TBS -> Mostrar () ; ?>

Notas

  1. Timothy Boronczyk (Autor), Martin E. Psinas (Colaborador). cap. 1 Registro de Usuarios / Plantillas // PHP y MySQL: crear-modificar-reutilizar. - Wrox , 5 de mayo de 2008. - P. 11. - 341 p. - (Programador a Programador). — ISBN 0470192429 .
  2. 19 motores de plantillas PHP prometedores Archivado el 8 de marzo de 2010 en Wayback Machine y enlace a este artículo Archivado el 26 de septiembre de 2009 en Wayback Machine en phpdeveloper.org Archivado el 28 de enero de 2010 en Wayback Machine
  3. Los 25 principales motores de plantillas PHP . Fecha de acceso: 31 de enero de 2010. Archivado desde el original el 7 de marzo de 2010.
  4. Estamos buscando una alternativa a Smarty . Fecha de acceso: 30 de enero de 2010. Archivado desde el original el 8 de marzo de 2010.
  5. Artículos dinámicos con TinyButStrong Archivado desde el original el 11 de febrero de 2010.
  6. Motor de plantillas TinyButStrong para ModX (enlace descendente) . Fecha de acceso: 30 de enero de 2010. Archivado desde el original el 7 de abril de 2010. 
  7. Motor de plantillas TinyButStrong Archivado el 10 de marzo de 2010.
  8. Thomas Myer. Capítulo 1. Bienvenido a MVC World / Un enfoque ligeramente diferente: Plantillas / Uso de sistemas de plantillas de terceros // CodeIgniter profesional. - 1 edición. - Wrox , 28 de julio de 2008. - Pág. 18. - ISBN 0470282452 .
  9. Motor de plantillas TinyButStrong en el marco Kohana PHP (enlace descendente) . Fecha de acceso: 30 de enero de 2010. Archivado desde el original el 14 de febrero de 2010. 
  10. Complemento sfTinyDoc . Consultado el 30 de enero de 2010. Archivado desde el original el 10 de febrero de 2010.
  11. TinyButStrong OOo (OpenOffice, oficina) - Clases de PHP . Fecha de acceso: 30 de enero de 2010. Archivado desde el original el 23 de enero de 2010.

Véase también

Enlaces