TinyButStrong

TinyButStrong
Tyyppi Mallin prosessori
Sisään kirjoitettu PHP
Käyttöjärjestelmä Monialustainen ohjelmisto
uusin versio 3,9 (26. tammikuuta 2014)
Lisenssi GNU LGPL
Verkkosivusto tinybutstrong.com

TinyButStrong (lyhennetty TBS) on suhteellisen kevyt tulkitseva web-mallipohja PHP :lle [ 1] . Listattu useissa Internet-arvosteluissa parhaiksi PHP - mallinkäsittelijöiksi [2] [3] [4] .

Ominaisuudet

TinyButStrong-työkalu on suunniteltu pystymään suunnittelemaan malleja käyttämällä yksinkertaisia ​​visuaalisia muokkausohjelmia (kuten Dreamweaver tai FrontPage ), ja sen avulla voit myös luoda JavaScript - skriptejä dynaamisesti. Tämä työkalu sisältää vain 8 toimintoa ja tarjoaa samalla korkean suorituskyvyn. Tämä mahdollistaa mallien yhdistämisen PHP - muuttujien tai MySQL - , PostgreSQL - tai SQLite - tietokannanhallintajärjestelmien kanssa .

Toisin kuin esimerkiksi, Smarty ei ole muunnelma prosessiohjelmointikielen teemasta , vaan käyttää mekanismeja mallitunnisteiden linkittämiseen rakenteeseen ja HTML -tageihin . Tämä tekee siitä helpon käyttää WYSIWYG HTML -editorien kanssa. Se sisältää myös työkalut SQL - kyselyiden suoraa yhdistämiseen (ilman alustavaa taulukoiden muodostamista niistä) TBS-malleihin jne.

Kehittäjät viittaavat TBS:ään kolmantena mallijärjestelmänä, jossa ensimmäinen tyyppi on itse PHP :n käyttö mallijärjestelmänä ja toinen on ohjelmoitavia malleja, kuten Smartyssa .

Kirjasto on toteutettu PHP- luokkana , jota voidaan laajentaa mukautetuilla lisäosilla ja jakaa LGPL - lisenssillä . Laajennukset sisältävät joukon PHP-funktioita tai yhden PHP-luokan, jonka on noudatettava TBS-mallikoneen laskemaa erityistä syntaksia. Esimerkiksi: tietokantalaajennukset - yksinkertaistavat uusien tietokantatyyppien tunnistamisprosessia, muut lisäosat auttavat käyttäjää lisäämään toimivia toimintoja TBS:ään tai muuttamaan sen päämenetelmiä, mikä tekee mallimoottorista erikoistuneen.

Eri CMS- ja CMF -käyttäjien käyttäjät ovat kehittäneet sidontamoduuleja tälle mallipohjalle. Tällaisia ​​järjestelmiä ovat Joomla , [5] MODx , [6] CodeIgniter , [7] [8] Kohana , [9] Symfony [10] jne.

Tämän kirjaston TinyButStrong OOo -laajennusluokka, joka mahdollistaa asiakirjojen luomisen OpenOffice.org -muodossa , voitti 5. sijan lokakuussa 2005 PhpClasses Innovation Award -kilpailussa [11]  , joka on suosittu PHPClasses- sivuston järjestämä kilpailu .

Haitat

TBS:n suurin haitta on sen hidas suorituskyky. Tämä kirjasto suorittaa melko monimutkaisen analyysin HTML-koodista, kun luodaan HTML-sivu mallipohjasta (TinyButStrong - toisin kuin Smarty, tämä ei ole käännösmalliprosessori). Ongelma voidaan kuitenkin ratkaista yhdistämällä välimuistilaajennus.

Toinen hienovarainen seikka on, että huolimatta tämän mallikoneen alkuperäisen kehityksen yksinkertaisuudesta, sen riittävän "edistynyttä" käyttöä varten on välttämätöntä ymmärtää kirjaston sisäiset mekanismit. Muuten on aivan liian helppoa kirjoittaa mallia, jossa on virhe, tahaton toiminta tai katastrofaalisen hidas suorituskyky.

TinyButStrongin helppokäyttöisyys (varsinkin kun se on yhdistetty WYSIWYG HTML - editorien kanssa ) johtaa usein sen käyttöön fly-by-night-sivustoissa, jotka tuen puutteen tai verkkosovelluksen lähdekoodin virheiden vuoksi lakkaavat pian toimimasta. yleensä. Googlen haku rivillä "TinyButStrong error" antaa varsin surullisia tilastoja tämän kirjaston samanlaisesta "suosiosta".

Esimerkkikoodi

Seuraava koodi tulostaa MySQL-taulukon sisällön "raidallisena" HTML - taulukkona.

HTML-osa:

<html> <body> <p align= "center" class= "title-page" > MySQL-tietoyhteysesimerkki </p> <table border= "1" align= "center" cellpadding= "2" cellspacing= " 0 " > <tr bgcolor= "#CACACA" > <td width= "50" ><strong> Sijainti </strong></td> <td width= "150" ><strong> Nimimerkki </strong></ td > <td width= "50" ><strong> Pisteet </strong></td> <td width= "100" ><div align= "center" ><strong> Päivämäärä </strong></div> < /td> </tr> <tr bgcolor= "#F0F0F0" > <td> [blk1.#] </td> <td> [blk1.res_name;block=tr] </td> <!-- lausekelohko =tr ilmoittaa lohkorajat, implisiittisen silmukan blk1-tietueiden yli --> <td><div align= "right" > [blk1.res_score] </div></td> <td><div align= "center" > [blk1.res_date;frm='mm-dd-yyyy'] </div></td> </tr> <!-- kahta samannimistä lohkoa käsitellään saman lohkon osina, --> < !-- jotka, ellei toisin mainita, suoritetaan peräkkäin --> <tr bgcolor= "#E6E6E6" > <td> [blk1.#] </td> <td> [blk1.res_name;block=tr] </ td> <td><div align= "oikea" > [blk1.res_score] </di v></td> <td><div align= "center" > [blk1.res_date;frm='mm-dd-yyyy'] </div></td> </tr> <!-- NoData-osio suoritetaan vain, jos lohko ei sisällä tietoja --> <tr bgcolor= "#E6E6E6" > <td colspan= "4" bgcolor= "#FFCFB9" > [blk1;block=tr;nodata]Ei tietoja. </td> </tr> </table> <p align= "center" > [blk1.#] rivin tulos. </p> </body> </html>

PHP osa:

<?php include_once ( 'tbs_class.php' ) ; // Yhdistä tietokantaan if ( ! isset ( $_SERVER )) $_SERVER =& $HTTP_SERVER_VARS ; //PHP<4.1.0 vaatia ( $_SERVER [ 'DOCUMENT_ROOT' ] . '/cnx_mysql.php' ); // Tiedosto cnx_mysql.php sisältää seuraavat rivit: // $cnx_id = mysql_connect('localhost','user','password') ; // mysql_select_db('dbname',$cnx_id) ; // Instantiate TBS $TBS = uusi clsTinyButStrong ; // lataa malli $TBS -> LoadTemplate ( 'tbs_us_examples_datamysql.htm' ) ; // yhdistä taulukossa näytettävät tiedot $TBS -> MergeBlock ( 'blk1' , $cnx_id , 'SELECT * FROM t_tbs_examples' ) ; // sulje tietokanta mysql_close ( $cnx_id ) ; // Näytä HTML $TBS -> Näytä () ; ?>

Muistiinpanot

  1. Timothy Boronczyk (Kirjoittaja), Martin E. Psinas (Käyttäjä). Ch. 1 Käyttäjän rekisteröinti / Mallit // PHP ja MySQL: create-modify-reuse. - Wrox , 5. toukokuuta 2008. - P. 11. - 341 s. - (Ohjelmoija ohjelmoijalle). — ISBN 0470192429 .
  2. 19 lupaavaa PHP -mallikonetta arkistoitu 8. maaliskuuta 2010 Wayback Machinessa ja linkki tähän artikkeliin Arkistoitu 26. syyskuuta 2009 Wayback Machinessa osoitteessa phpdeveloper.org Arkistoitu 28. tammikuuta 2010 Wayback Machinessa
  3. 25 parasta PHP-mallimoottoria . Käyttöpäivä: 31. tammikuuta 2010. Arkistoitu alkuperäisestä 7. maaliskuuta 2010.
  4. Etsimme vaihtoehtoa Smartylle . Käyttöpäivä: 30. tammikuuta 2010. Arkistoitu alkuperäisestä 8. maaliskuuta 2010.
  5. Dynaamiset artikkelit TinyButStrongin kanssa Arkistoitu alkuperäisestä 11. helmikuuta 2010.
  6. TinyButStrong mallimoottori ModX:lle (downlink) . Käyttöpäivä: 30. tammikuuta 2010. Arkistoitu alkuperäisestä 7. huhtikuuta 2010. 
  7. TinyButStrong Template Engine arkistoitu 10. maaliskuuta 2010.
  8. Thomas Myer. Ch 1. Tervetuloa MVC Worldiin / Hieman erilainen lähestymistapa: Mallit / Kolmannen osapuolen mallijärjestelmien käyttö // Professional CodeIgniter. - 1 painos. - Wrox , 28. heinäkuuta 2008. - P. 18. - ISBN 0470282452 .
  9. TinyButStrong mallimoottori Kohana PHP -kehyksessä (downlink) . Käyttöpäivä: 30. tammikuuta 2010. Arkistoitu alkuperäisestä 14. helmikuuta 2010. 
  10. sfTinyDoc-laajennus . Haettu 30. tammikuuta 2010. Arkistoitu alkuperäisestä 10. helmikuuta 2010.
  11. TinyButStrong OOo (OpenOffice, toimisto) - PHP-luokat . Käyttöpäivä: 30. tammikuuta 2010. Arkistoitu alkuperäisestä 23. tammikuuta 2010.

Katso myös

Linkit