Übersicht Projekte


TPlate - die kleinste PHP-Template-Engine der Welt

Ziel dieses Projekts ist eine kleine Template-Enginge, die schnell und unkompliziert zu benutzen ist und die Performance nich negativ beeinflusst.

Bei der Entwicklung der Template-Engine achtete ich insbesondere darauf, dass sie möglichst klein bleibt und sehr einfach in eigene Projekte zu integrieren ist.
Außerdem wollte ich auf eine eigene Template-Sprache (wie sie etwa in Smarty verwendet wird) verzichten. Dadurch kann jeder der PHP beherrscht sofort die Template-Engine benutzen sowie auch eigene Templates selbst schreiben. Für HTML-Autoren die mit PHP nicht vertraut sind, sind die wenigen PHP-Konstrukte die man in den Templates benutzt, jedoch mindestens genau so leicht zu erlernen, wie die einer eigenen Template-Sprache.
Zum benutzen der TPlate-Engine muss nur die tplate.class.php includiert werden, dann kann man direkt loslegen. Es sind keine Anpassungen irgendwelcher Rechte o.ä. notwendig. Es gibt auch keine Abhängigkeiten zu anderen (z.B. PEAR) Projekten.

Der Source-Code kann hier heruntergeladen werden.

TPlate API-Doc


TPlate Screenshot
Benutzung der Template-Engine (direkt öffnen)

Listing: Verwendung der Template-Engine
      // create new Template and set the Direcotry where the Template-Files are stored in
      $page = new TPlate();
      $page->setTemplateDir('basic_templates');

      // add some Data to the Template
      $page->add('title', "This is the Document-Title");

      // create another Template
      $subpage = new TPlate();
      $subpage->setTemplateDir('subpage_templates');

      // add the Template of the subpage to the main-page Template
      $page->add('subpage', $subpage);

      //now display the main Template
      $page->display('mainpage.tpl');  // parses the file: basic_templates/mainpage.tpl
   

Listing: mainpage.tpl
      <html>
         <head>
            <? /* display the variable */ ?>
            <title><?= $data->title ?><title>
         </head>
         <body>
            <p>
               some important content...
            </p>
            <? /* now display another template inside this template */ ?>
            <? $data->subpage->display('subpage.tpl') ?> >
         </body>
      </html>
   


Microbanner: powered by TPlate