hi leute,
ein kumpel hat mal vor ewigen zeiten eine template klasse geschrieben, ich hab sie auch schon mal benutzt.. wollte sie eigentlich jetzt wieder anwenden und ich bekomme folgenden fehler!!
die methode setVar()( ist aber vorhanden, hat auch die richtigen rechte und trotzdem wird sie nicht angesprochen.. hier der quellcode der klasse:
aufgerufen wirds so...
wieso kommt dieser fehler.. ich probiere jetzt schon seit mehreren stunden.. mein kumpel kann ich leider net fragen, denn der ist im urlaub!!
vielleicht kann mir jemand von euch helfen!!
vg
pat
ein kumpel hat mal vor ewigen zeiten eine template klasse geschrieben, ich hab sie auch schon mal benutzt.. wollte sie eigentlich jetzt wieder anwenden und ich bekomme folgenden fehler!!
PHP-Code:
Fatal error: Call to undefined method Tpl::setVar() in /test/index.php on line 8
PHP-Code:
class Tpl {
// Attribute
private $delStart;
private $delEnd;
private $content = '';
private $error = '';
// Konstruktor
function __construct($file = '', $delStart = '{', $delEnd = '}')
{
$this->loadTplFile($file, $delStart, $delEnd);
}
// Destruktor
function __destruct()
{
if(!$this->checkError())
{
$this->getTpl();
}
else
{
$this->printError();
}
}
// Templatedatei Laden
private function loadTplFile($file, $delStart, $delEnd)
{
// atttribute setzen
$this->delStart = $delStart;
$this->delEnd = $delEnd;
if($file)
{
if(is_readable($file))
{
// datei öffnen
$tmp = fopen($file, 'r');
// auslesen der datei
while(!feof($tmp))
{
$this->content .= fgets($tmp, 4096);
}
//datei schließen
fclose($tmp);
}
else
{
// fehlerausgabe deklarieren
$this->error .= '
Die Templatedatei konnte nicht gelesen werden. Überprüfen Sie ob der Server die richtigen Rechte besitzt.';
}
}
else
{
// fehlerausgabe deklarieren
$this->error .= '
Um die Funktion richtig nutzen zu können, müssen sie eine Templatedatei angeben.';
}
}
// Platzhaler ersetzen
public function setTpl($char = '', $value = '')
{
if($char)
{
$this->content = str_replace($this->delStart.$char.$this->delEnd, $value, $this->content);
}
else
{
$this->error .= '
Es wurde ein Wert für einen nicht angegeben Platzhalter verwendedt.';
}
}
// Erzeugte Datei ausgeben
private function getTpl()
{
echo $this->content;
}
// Auf fehler prüfen
private function checkError()
{
return (bool)$this->error;
}
// Fehler ausgeben
private function printError()
{
$str = "
\n";
$str .= "[b]Error[/b]
\n";
$str .= "\t".$this->error."\n";
$str .= "</p>\n";
//fehler ausgeben
echo $str;
}
}
PHP-Code:
require_once('Template.php'); // Klasse laden
$Tpl = new Tpl('test.html'); // Neues Objekt erzeugen
// DEKLARATIONEN
$Tpl->setVar('headline', 'überschrift');
vielleicht kann mir jemand von euch helfen!!
vg
pat

Kommentar