Using $this when not in object context
Posté : 05 mars 2010, 23:43
Bonjour, j'ai une petite erreur avec ce code et je ne vois pas d'où vient le problème. L'erreur est la suivante : "Using $this when not in object context in (nom du fichier) on line 16". Pourtant c'est bien un contexte objet, et j'ai bien instancié le tableau.
Par la même occasion si certains voient d'autres erreurs, votre aide est la bienvenue.
Code : Tout sélectionner
<?php
class TemplateEngine
{
private $template; // Fichier template à utiliser, contenant les variables à substituer.
private $variables; // Tebleau associatif qui contiendra les variables et les valeurs à leur substituer.
public function __construct($template)
{
$this->template = addslashes($template);
// $this->variables = array();
}
// Ajouter une nouvelle variable à substituer.
public function addVariable($variable, $content)
{
[b]$this->variables[$variable] = $content;[/b] // L'erreur est là.
}
// Affiche la page
public function outputModifiedPage()
{
if (file_exists($this->template))
{
// Récupération du contenu du template.
$modifiedPage = file_get_contents($this->template);
// Parcours du template et substitution des variables.
foreach ($this->variables as $variable)
{
$modifiedPage = preg_repalce('#${'.$variable.'}#', $this->variables[$variable], $modifiedPage);
}
echo $modifiedPage;
}
else throw new Exception('Le fichier '.$template.' n\'existe pas');
}
}
?>