Using $this when not in object context

Petit nouveau ! | 2 Messages

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.

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'); } } ?>
Par la même occasion si certains voient d'autres erreurs, votre aide est la bienvenue.

ViPHP
ViPHP | 2287 Messages

06 mars 2010, 09:58

Hello,

déjà il y a une typo : preg_repalce...

Pour identifier l'erreur que tu nous signales, il serait utile d'avoir le code qui instancie l'objet et appelle la méthode. Je ne serais pas surpris que le problème s'y trouve.
if(!@work()){ Nespresso(); } else { what(); }
______________________________