Berikut ini adalah engine yang akan digunakan membaca file template, mengisinya dengan modul-modul dan menampilkan ke web browser.
engine.php
[php]
class Template {
var $html = “”;
function Template($fileTemplate) {
$namaFile = “$fileTemplate”;
$penunjukFile = fopen($namaFile, “r”);
$this->html = fread($penunjukFile, filesize($namaFile));
fclose($penunjukFile);
}
function isiVar($namaVar, $isiVar) {
$this->html = ereg_replace(“#$namaVar#”, $isiVar, $this->html);
}
function isiBlokKiri($modulnya = array()) {
$isiBlokTotal = “”;
foreach($modulnya as $kunci => $nilai) {
include_once(“kiri/$nilai.php”);
$isiBlokTotal .= $dt;
}
$this->html = ereg_replace(“#BLOCK_KIRI#”, $isiBlokTotal, $this->html);
}
function isiContent($modulenya) {
include_once(“content/$modulenya.php”);
$this->html = ereg_replace(“#CONTENT#”, $dt, $this->html);
}
function isiBlokKanan($modulnya = array()) {
$isiBlokTotal = “”;
foreach($modulnya as $kunci => $nilai) {
include_once(“kanan/$nilai.php”);
$isiBlokTotal .= $dt;
}
$this->html = ereg_replace(“#BLOCK_KANAN#”, $isiBlokTotal, $this->html);
}
function tampilkanContent() {
echo $this->html;
}
}
[/php]
index.php
[php]
error_reporting(“E_ERROR”);
include_once(“engine.php”);
$tpl = new Template(‘utama.htm’);
$content = $_REQUEST[‘content’];
if (empty($content)) {
$content = ‘home’;
}
$kiri = array(‘menu-vertikal’, ‘kotak-weblogin’);
$kanan = array(‘polling’, ‘shoutbox’);
$tpl->isiVar(‘JUDUL_WEBSITE’, ‘Website Buat Belajar Aja’);
$tpl->isiBlokKiri($kiri);
$tpl->isiContent($content);
$tpl->isiBlokKanan($kanan);
$tpl->tampilkanContent();
[/php]
Silakan di cek lagi susunan file dan direktori adalah sebagai berikut:
index.php
utama.htm
table.css
engine.php
kiri/menu-vertikal.php
kiri/kotak-weblogin.php
content/home.php
content/berita-terbaru.php
kanan/polling.php
kanan/shoutbox.php
Selamat mencoba!