TinyButStrong (TBS)

Logo: TinyButStrong

2. Erstes Beispiel mit zwei Templatevariablen

Unser erstes Beispiel zeigt ein einfaches PHP-Skript und das dazugehörige Template.

PHP-Skript
   require_once 'tbs/tbs_class.php';

   $tmpl = new clsTinyButStrong;
   $tmpl->LoadTemplate('tmpl/basic.htm');

   $title_text = 'TITLE: This is the TBS basic example ...';
   $body_text = 'BODY: This is the message using TinyButStrong template engine.';

   $tmpl->Show();

Dieses Beispiel zeigt die Grundstruktur von Templating: Im PHP-Code steht kein einziger HTML-Befehl. Richtlinie: Im PHP-Skript am besten keine HTML-Tags verwenden.

require_once 'tbs/tbs_class.php';
Um mit TBS arbeiten zu können muss die Klasse als erstes inkludiert werden. "Inkludieren" ist ein umgangsprachlicher Programmierbegriff, der im Zusammenhang mit der PHP-Funktion "include" verwendet wird. Man kann man mit dem Befehl "include" inkludieren oder mit "require". Ich bevorzuge "require_once" da jedes benötigte Skript nur einmal inkludiert wird und die Funktion einen FATAL ERROR liefert, wenn die Datei nicht gefunden wird. Erst nach dem "require_once" sind die TBS-Methoden dem Skript bekannt.
$tmpl = new clsTinyButStrong;
Es wird die Instanz $tmpl der Klasse "clsTinyButStrong" generiert. Damit können jetzt die Methoden "LoadTemplate" und "Show" verwendet werden.
"$tmpl->LoadTemplate" und "$tmpl->Show"
Die Methode "LoadTemplate" bindet das Template "tmpl/basic.htm" ein. Darin steht der HTML-Quellcode und die Templatevariablen (auch "TBS-Felder" genannt). Die Methode "Show" sorgt dafür, dass die im PHP-Skript definierten Inhalte an das Template "geparst" werden. Das heißt, die Templatevariablen werden mit Inhalten gefüllt. Danach wird das Template angezeigt. Dies ist also in vielen Fällen der abschließende Befehl des PHP-Skripts. Danach sollte zumindest keine Ausgabe mehr per echo() oder print() erfolgen.
Template
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
   <html>
   <head>
      <title>[var.title_text]</title>
      <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
   </head>

   <body>

   <p>[var.body_text]</p>

   </body>
   </html>

Das hier verwendete Template ist ein normales XHTML-Grundgerüst mit zwei Templatevariablen. Diese werden mit "[var.NAME_DER_VARIABLE]" im Template hinterlegt. Sie bilden die Schnittstelle zwischen PHP-Skript und Template.
Durch die Initialisierung von $title_text und $body_text sind die Variablen dem Template bekannt. $body_text könnte auch eine Zahl, eine andere Variable oder auch der Rückgabewert einer Funktion zugewiesen werden. Alles was mit dem PHP-Befehl "echo" ausgegeben werden kann, wird auch von einer Templatevariablen korrekt ausgegeben.