Template parser (klein)
Auteur: XenoX - 19 augustus 2004 - 17:06 - Gekeurd door: Dennisvb - Hits: 4250 - Aantal punten: 2.50 (2 stemmen)
Dit script heeft de basis functies van een template parser zoals:
- Wissellen
- Bestanden invoegen
Later komt er een uitgebreide versie met:
- Blocks
- ...
(Als je nog wat weet PM me)
|
Code: |
class.xtemplate.php
<?php
class xtemplate {
var $bestand;
var $invoeg;
function __error($functie, $error) {
echo "<hr><b>Fout bij functie:</b> ".$functie;
echo "<hr><b>De fout:</b> ".$error."<hr>";
}
function leesbestand($bestand) {
if(!file_exists($bestand)) {
exit($this->__error("leesbestand", $bestand." bestaat niet!"));
} else {
ob_start();
include($bestand);
$this->bestand = ob_get_contents();
ob_end_clean();
}
}
function wissel($vind, $vervang) {
if(empty($this->bestand)) {
exit($this->__error("wissel", "Je moet eerst de functie leesbestand() uitvoeren!"));
} else {
$this->bestand = str_replace("{".$vind."}", $vervang, $this->bestand);
}
}
function invoegen($bestand) {
if(!file_exists($bestand)) {
exit($this->__error("invoegen", $bestand." bestaat niet!"));
} else {
ob_start();
include($bestand);
$this->invoeg = ob_get_contents();
ob_end_clean();
$this->bestand = str_replace("[".$bestand."]", $this->invoeg, $this->bestand);
}
}
function laatzien() {
if(empty($this->bestand)) {
exit($this->__error("laatzien", "Je moet eerst de functie leesbestand() uitvoeren!"));
} else {
echo $this->bestand;
}
}
}
$xtemplate = new xtemplate;
?>
<?php class xtemplate { var $bestand; var $invoeg; function __error($functie, $error) { echo "<hr><b>Fout bij functie:</b> ".$functie; echo "<hr><b>De fout:</b> ".$error."<hr>"; } function leesbestand($bestand) { exit($this->__error ("leesbestand", $bestand." bestaat niet!")); } else { include($bestand); } } function wissel($vind, $vervang) { if(empty($this->bestand)) { exit($this->__error ("wissel", "Je moet eerst de functie leesbestand() uitvoeren!")); } else { $this->bestand = str_replace("{".$vind."}", $vervang, $this->bestand); } } function invoegen($bestand) { exit($this->__error ("invoegen", $bestand." bestaat niet!")); } else { include($bestand); $this->bestand = str_replace("[".$bestand."]", $this->invoeg, $this->bestand); } } function laatzien() { if(empty($this->bestand)) { exit($this->__error ("laatzien", "Je moet eerst de functie leesbestand() uitvoeren!")); } else { } } } $xtemplate = new xtemplate; ?>
voorbeeld:
<?php
include("class.xtemplate.php");
$xtemplate->leesbestand("bestand.tpl");
$xtemplate->wissel("titel", "Test Pagina");
$xtemplate->invoegen("test.php");
$xtemplate->laatzien();
?>
<?php include("class.xtemplate.php"); $xtemplate->leesbestand("bestand.tpl"); $xtemplate->wissel("titel", "Test Pagina"); $xtemplate->invoegen("test.php"); $xtemplate->laatzien(); ?>
bestand.tpl
<html>
<head>
<title>{titel}</title>
</head>
<body>
[test.php]
</body>
</html>
<html> <head> <title>{titel}</title> </head> <body> [test.php] </body> </html>
test.php:
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|