Page 1 sur 1

Using $this when not in object context

Posté : 05 mars 2010, 23:43
par Gaetch
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.

Re: Using $this when not in object context

Posté : 06 mars 2010, 09:58
par Calimero
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.