Heyho Leute,
Ich zeige euch nun mal wie ihr euren PHP Code & HTML trennt damit man bei größeren Projekte z.B nicht durcheinander kommt und auch sonst sieht es sauberer aus.
Die Bibliothek die ich benutze nennt sich Smarty. Ich arbeite nur noch damit weil ich wirklich beeindruckt bin was diese Bibliothek alles für Vorteile hat. Ich gebe euch nun mal einen kleinen Einblick in die kleine aber feine Welt.
Was benötigen wir?
Smarty 2.6.26 Stable
Editor
Schritt 1
Wir legen den Ordner "smarty" in unserem Projektordner an.
Ihr entpackt aus der Smarty.zip nur alles aus den Ordner "libs" in den zuvor angeleten
Order "smarty"
Wir legen nun einen Ordner "templates" und "cache" an. Mehr dazu in Schritt 3.
Schritt 2
Wir basteln uns einen einfachen PHP Code
[PHP]
<?php
$name = "r00t";
if(isset($name) == "r00t")
{
echo "Hi wie gehts, r00t?";
}
else
{
echo "Du bist nicht r00t";
}
?>
[/PHP]
Das wäre jetzt ein wirklich simpler PHP Code.
Schritt 3
Jetzt kommt Smarty ins Spiel. Wir basteln uns nun sozusagen eine header.php
damit wir nicht immer alles neu hineinschreiben müssen.
[PHP]
<?php
# Smarty Klasse Inludieren
require_once ('smarty/Smarty.class.php');
$smarty = new Smarty();
# Smarty Template Info
$smarty->template_dir = 'templates'; # Dort werden unsere Templates reinkommen
$smarty->compile_dir = 'cache'; # Dort werden die Templates gecachet
?>
[/PHP]
Schritt 4
Jetz includieren wir unsere Header.php und legen unsere ersten Smarty Variablen an.
[PHP]
<?php
require('header.php');
# Smarty Information
$smarty->assign('content','content.tpl'); # Neue .tpl Datei im Ordner /templates/
$smarty->assign('title','Testittle'); # In der index.tpl <title>{$title}</title> nutzen
$name = "r00t";
if(isset($name) == "r00t")
{
echo "Hi wie gehts, r00t?";
}
else
{
echo "Du bist nicht r00t";
}
$smarty->display('index.tpl'); # Definiert das Grundtemplate
?> [/PHP]
Erläuterungen
$smarty->display('index.tpl'); - Definiert das Haupttemplate
$smarty->assign('title','Testittle'); - Definiert den Websitetitel
$smarty->assign('content','content.tpl'); - Dort ist unser Content
Schritt 5
Wenn wir jetzt unser Script ausführen müsste folgende Fehlermeldung erscheinen;
Warning: Smarty error: unable to read resource: "index.tpl" in C:\xampp\htdocs\beispiel\smarty\Smarty.class.php on line 1093
Das liegt daran das noch keine "index.tpl" vorhanden ist, weiter gehts im nächsten Schritt.
Schritt 6
Nun kommen wir zu den Templates. Wir legen eine "index.tpl"und eine "content.tpl" an.
In die "index.tpl" kommt nun folgendes ( Beispiel HTML Code ).
Erläuterungen
{$title} - Damit wird der Seitentitel definiert, siehe Schritt 4.
{include file=$content}
Damit wird die "content.tpl" eingebunden. Siehe Schritt 4 für die Definierung.
Schritt 7
Nun kommen wir zur "content.tpl".
In diese kommt jeglicher Content rein in unserem Beispiel steht in der "content.tpl"
nur folgendes:
Damit wären wir mit der Content.tpl fertig. Wenn ihr nun das Script ausführt würdet ihr euer normalen PHP Ausgaben haben + Smarty als Template Enginge.
Beispiel Download
Beispiel Download
Schlusswort
Ich hoffe ich konnte euch einen kleinen Einblick in die Welt von Smarty gewähren bei Fragen schreibt mir einfach eine PN hier im Forum.
Peace, Binär