PHP5 - variabler og referencer
Hej Eksperter.Jeg sidder og bøvler med et irriterende problem i PHP5 - specielt fordi alle de bøger jeg kan finde synes at gøre det på samme måde som jeg. Koden nedenfor virker ikke. Den giver fejlen:
Notice: Undefined variable: page in /var/www/templating/page.php on line 11
Fatal error: Cannot access empty property in /var/www/templating/page.php on line 11
Hvis jeg så fjerner '$this->' foran mine referencer til variablen på klassen, så får jeg i stedet denne fejl:
Notice: Undefined variable: page in /var/www/templating/page.php on line 23
Det virker meget underligt - om jeg bruger $this-> eller ej burde overhovedet ikke spille nogen rolle. Og hvorfor i alverden får jeg fejl hvis jeg forsøger at give en variabel en værdi? Jeg burde kun få en sådan fejl hvis jeg bruger en variabel der ikke er blevet initialiseret endnu.
---------------------------------------------------------------------------------
<?php
class Page
{
var $page;
public function Page($template)
{
if (file_exists($template))
{
$this->$page = file_get_contents($template);
}
else
{
die("Template file $template does not exist!");
}
}
public function ReplaceTags($tags)
{
foreach ($tags as $tag => $data)
{
$this->$page = str_replace("{".$tag."}", $data, $this->$page);
}
}
public function Output()
{
echo $this->$page;
}
}
?>
