Feedback

Thank you. Your feedback has been sent.

Russian Federation: Discussions PHP Forum - Template-Klasse, Discussions, exchange of ideas, controversies, opinions

Forum > PHP Forum > Thread
Gabriel Lewy


Date of registration: 14.02.2005
Postings: 2
City: Hamburg


Subject: Template-Klasse
Posted on: 01.01.1970 01:33

Hallo Leute,

im folgenden möchte ich euch meine Template-Klasse vorstellen
und bin gespannt auf eure Meinung!

<?php

/**
* Temmplate-Klasse
*
* Klasse zur Darstellung von Templates
*
* @package layout
* @version 1.0
*
* Beispiel zur Verwendung:
*
* <code>
*
* include 'template.php'
* $tpl = new Template("vorlage");
* $tpl->addField("TEST", $test);
* echo $tpl->get();
*
*
* </code>
*
*/

class Template {

/**
* Feldliste
* @var array
*/
var $fields;

/**
* Template-Name
* @var string
*/
var $name;

/**
* Template-Directory (default tpl/*)
* @var string
*/
var $tpldir;


/**
* Constructor
*
* @param string Name des Templates
* @returns void
*
*/

function Template($name) {

$this->name = $name;
$this->fields = array();
$this->tpldir = "tpl/";

$f = fopen( $this->tpldir . $this->name . ".html", "r" );
while(!feof($f)) $this->buf.=fread($f,1024);
fclose($f);


}

/**
* Ergebnis ausgeben
*
* @returns string Ergebnis
*
*/

function get() {

/**
* Sprachtexte ersetzen
*/
if($this->lang) {
reset($this->lang);
while(list($entry, $value)=each($this->lang)) {
$entry = "{" . $entry . "}";
$this->buf = ereg_replace($entry, $value, $this->buf);
}
}

/**
* Felder ersetzen
*/
if($this->fields) {
reset($this->fields);
while(list($entry,$value)=each($this->fields)) {
$entry = "[" . $entry . "]";
$this->buf = ereg_replace($entry, $value, $this->buf);
}
}

return $this->buf;

}

/**
* Ein Feld hinzufügen
*
* Fügt ein Feld der Ersetzungsliste hinzu
*
* @param string Feldname
* @param string Value
*
*/

function addField($name, $value) {

$this->fields[$name] = $value;

}

/**
* Mehrere Felder gleichzeitig hinzufügen
*
* Fügt einen kompletten Array der Feldliste hinzu.
*
* @param array Feld-Array
*
*/

function addFieldArr($arr) {

foreach( array_keys($arr) as $key ) {
$this->fields[$key] = $arr[$key];
}

}

/**
* Sprache laden
*
* Lädt Sprachtexte einer Sprache
*
* @param array Wort-Liste
*
*/

function loadLang( $arr ) {

foreach($arr as $ar) {
$this->lang[] = $ar;
}

}

/**
* Template-Verzeichnis setzen
*
* Setzt das Default-Templateverzeichnis "tpl/" auf das angegebene
*
* @param string Verzeichnis
* @returns bool true/false
*
*/

function setDir($dir) {

$this->tpldir = $dir;

}


}

?>

Reply
Private message
Roy Leppin


Date of registration: 30.08.2004
Postings: 7
City: Kassel


Subject: Re: Template-Klasse
Posted on: 01.01.1970 01:33

Hmm.. nicht schlecht, aber gibt es nicht schon massig
Template-Klassen in freier Wildbahn?

Reply
Private message


1

Similar threads: