TinyButStrong

TinyButStrong
Típusú Sablon processzor
Beírva PHP
Operációs rendszer Többplatformos szoftver
legújabb verzió 3,9 (2014. január 26.)
Engedély GNU LGPL
Weboldal tinybutstrong.com

A TinyButStrong (rövidítve TBS) egy viszonylag könnyű értelmező websablon motor PHP - hez [ 1] . Számos internetes ismertetőben szerepel a legjobb PHP sablonkezelőként [2] [3] [4] .

Jellemzők

A TinyButStrong eszközt úgy tervezték, hogy képes legyen sablonokat tervezni vizuális szerkesztők (például Dreamweaver vagy FrontPage ) egyszerű használatával, és lehetővé teszi JavaScript - szkriptek dinamikus létrehozását is. Ez az eszköz mindössze 8 funkciót tartalmaz, miközben nagy teljesítményt nyújt. Ez lehetővé teszi a sablonok kombinálását PHP változókkal vagy MySQL , PostgreSQL vagy SQLite adatbázis-kezelő rendszerekkel .

Ellentétben például, a Smarty nem egy procedurális programozási nyelv témájának variációja , hanem olyan mechanizmusokat használ, amelyek a sabloncímkéket a szerkezethez és a HTML címkékhez kapcsolják . Ez megkönnyíti a WYSIWYG HTML szerkesztőkkel való használatát. Eszközöket is tartalmaz az SQL - lekérdezések közvetlen összekapcsolásához (anélkül, hogy előzetesen tömböt alakítanának ki belőlük) TBS-sablonokhoz stb.

A fejlesztők a TBS-re a sablonrendszerek harmadik típusaként hivatkoznak, ahol az első típus maga a PHP sablonrendszerként való használata , a második pedig a programozható sablonok, például a Smarty -ban .

A könyvtár PHP osztályként valósult meg, amely egyéni bővítményekkel bővíthető és LGPL licenc alatt terjeszthető . A beépülő modulok PHP-függvényeket vagy egyetlen PHP-osztályt tartalmaznak, amelyeknek meg kell felelniük a TBS-sablonmotor által kiszámított speciális szintaxisnak. Például: adatbázis-bővítmények - leegyszerűsítik az új adatbázis-típusok felismerésének folyamatát, más bővítmények pedig segítik a felhasználót, hogy működő funkciókat adjon a TBS-hez, vagy módosítsa a fő metódusait, ami speciálisabbá teszi a sablonmotort.

A különféle CMS -ek és CMF -felhasználók kötési modulokat fejlesztettek ki ehhez a sablonmotorhoz. Ilyen rendszerek közé tartozik a Joomla , [5] MODx , [6] CodeIgniter , [7] [8] Kohana , [9] Symfony [10] stb.

Ennek a könyvtárnak a TinyButStrong OOo bővítményosztálya, amely lehetővé teszi dokumentumok OpenOffice.org formátumban történő előállítását , 2005 októberében 5. helyezést ért el a PhpClasses Innovation Award [11]  versenyen, amelyet a népszerű PHPClasses webhely rendezett .

Hátrányok

A TBS fő hátránya a lassú teljesítménye. Ez a könyvtár a HTML-kód meglehetősen összetett elemzését végzi el, amikor egy HTML-oldalt sablonból generál (TinyButStrong - a Smarty-val ellentétben ez nem egy fordítósablon-processzor). A probléma azonban megoldható egy gyorsítótárazó bővítmény csatlakoztatásával.

Egy másik finom pont az, hogy a sablonmotor kezdeti fejlesztésének egyszerűsége ellenére a kellően "fejlett" használathoz meg kell érteni a könyvtár belső mechanizmusait. Ellenkező esetben túl könnyű sablont írni hibával, nem szándékos viselkedéssel vagy katasztrofálisan lassú teljesítménnyel.

A TinyButStrong könnyű használhatósága (különösen a WYSIWYG HTML - szerkesztőkkel párosítva ) gyakran vezet a „fly-by-night” webhelyeken történő használatához, amelyek a támogatás hiánya vagy a webalkalmazás forráskódjának hibái miatt hamarosan működésképtelenné válnak. normális esetben. A google-ban a "TinyButStrong error" sorra keresve elég szomorú statisztikákat kapunk a könyvtár hasonló "népszerűségéről".

Mintakód

A következő kód egy MySQL-tábla tartalmát "csíkos" HTML -táblaként adja ki .

HTML rész:

<html> <body> <p align= "center" class= "title-page" > MySQL adatkapcsolati példa </p> <table border= "1" align= "center" cellpadding= "2" cellspacing= " 0 " > <tr bgcolor= "#CACACA" > <td width= "50" ><strong> Hely </strong></td> <td width= "150" ><strong> Nick </strong></ td > <td width= "50" ><strong> Pontok </strong></td> <td width= "100" ><div align= "center" ><strong> Dátum </strong></div> < /td> </tr> <tr bgcolor= "#F0F0F0" > <td> [blk1.#] </td> <td> [blk1.res_name;block=tr] </td> <!-- kifejezésblokk A =tr blokkhatárokat deklarál, egy implicit hurkot a blk1 rekordok felett --> <td><div align= "right" > [blk1.res_score] </div></td> <td><div align= "center" > [blk1.res_date;frm='hh-nn-yyyy'] </div></td> </tr> <!-- két azonos nevű blokkot ugyanannak a blokknak a szakaszaiként kezelünk, --> < !-- amelyek, hacsak másképp nincs megadva, szekvenciálisan hajtódnak végre --> <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='hh-nn-yyyy'] </div></td> </tr> <!-- NoData szakasz csak akkor kerül végrehajtásra, ha a blokk nem tartalmaz adatot --> <tr bgcolor= "#E6E6E6" > <td colspan= "4" bgcolor= "#FFCFB9" > [blk1;block=tr;nodata]Nincs adat. </td> </tr> </table> <p align= "center" > [blk1.#] soros kimenet. </p> </body> </html>

PHP rész:

<?php include_once ( 'tbs_class.php' ) ; // Csatlakozás az adatbázishoz if ( ! isset ( $_SERVER )) $_SERVER =& $HTTP_SERVER_VARS ; //PHP<4.1.0 igényel ( $_SERVER [ 'DOCUMENT_ROOT' ] . '/cnx_mysql.php' ); // A cnx_mysql.php fájl a következő sorokat tartalmazza: // $cnx_id = mysql_connect('localhost','user','password') ; // mysql_select_db('dbname',$cnx_id) ; // TBS példányosítása $TBS = new clsTinyButStrong ; // sablon betöltése $TBS -> LoadTemplate ( 'tbs_us_examples_datamysql.htm' ) ; // a táblázatban megjelenítendő adatok összekapcsolása $TBS -> MergeBlock ( 'blk1' , $cnx_id , 'SELECT * FROM t_tbs_examples' ) ; // az adatbázis bezárása mysql_close ( $cnx_id ) ; // HTML megjelenítése $TBS -> Megjelenítés () ; ?>

Jegyzetek

  1. Timothy Boronczyk (szerző), Martin E. Psinas (közreműködő). Ch. 1 Felhasználó regisztráció / Sablonok // PHP és MySQL: create-modify-reuse. - Wrox , 2008. május 5. - P. 11. - 341 p. - (Programozótól programozóig). — ISBN 0470192429 .
  2. 19 ígéretes PHP -sablonmotor archiválva 2010. március 8-án a Wayback Machine -nél és link a cikkre Archiválva 2009. szeptember 26-án a Wayback Machine -nél a phpdeveloper.org -on Archiválva 2010. január 28-án a Wayback Machine -nél
  3. A 25 legjobb PHP sablonmotor . Hozzáférés dátuma: 2010. január 31. Az eredetiből archiválva : 2010. március 7.
  4. A Smarty alternatíváját keressük . Hozzáférés dátuma: 2010. január 30. Az eredetiből archiválva : 2010. március 8.
  5. Dinamikus cikkek TinyButStrong-gal Archiválva az eredetiből 2010. február 11-én.
  6. TinyButStrong sablonmotor ModX-hez (lefelé irányuló kapcsolat) . Hozzáférés dátuma: 2010. január 30. Az eredetiből archiválva : 2010. április 7. 
  7. TinyButStrong Template Engine archiválva : 2010. március 10.
  8. Thomas Myer. Ch 1. Üdvözöljük az MVC World-ben / Egy kissé eltérő megközelítés: Sablonok / Harmadik féltől származó sablonrendszerek használata // Professzionális CodeIgniter. - 1 kiadás. - Wrox , 2008. július 28. - 18. o. - ISBN 0470282452 .
  9. TinyButStrong sablonmotor Kohana PHP keretrendszerben (lefelé irányuló kapcsolat) . Hozzáférés dátuma: 2010. január 30. Az eredetiből archiválva : 2010. február 14. 
  10. sfTinyDoc bővítmény . Letöltve: 2010. január 30. Az eredetiből archiválva : 2010. február 10..
  11. TinyButStrong OOo (OpenOffice, iroda) - PHP osztályok . Hozzáférés dátuma: 2010. január 30. Az eredetiből archiválva : 2010. január 23.

Lásd még

Linkek