Mailinglisten-Archive |
Hallo! Ich habe mir ein Objekt "classPage" geschrieben, welches praktisch die HTML seite mit allen Informationen & Templates speichert, die ich gerade benötige. Vereinfach dargestellt besteht z.b. das template index aus page[header] page[content] page[copyright] page[footer] "content" wiederum hat einige subtemplates wie "page[ueberschrift]", "page[text]" usw. Damit ich alle Variablen ersetzen kann, muss ich entsprechend die templates von innen nach Außen eval()'en. Früher ging das auch problemlos, da hießen die Variablen auch $header, $footer, $ueberschrift, etc - und eval() ersetzte sie entsprechend. Nun hab ich mir ja wie bereits erwähnt das Objekt geschrieben und habe die Variablen-Namen, die es zu ersetzen gilt, umgeschrieben: $this->page[header] $this->page[content] $this->page[copyright] $this->page[footer] $this->page[ueberschrift] etc... Jetzt weiß ich nicht, wie ich diese Variablen im eval()-Code maskieren muss, denn $this->page[header] ergibt wenn man eval drüber laufen lässt z.b. "Array[header]". Er interpretiert also nur $this->page. ${this->page[header]} habe ich versucht, gibt nen Fehler: Parse error: parse error, unexpected T_OBJECT_OPERATOR in /homepages/classPage.php(310) : eval()'d code on line 3, ebenso $this->{page[header]} Parse error: parse error, unexpected '{', expecting T_STRING in /homepages/classPage.php(310) : eval()'d code on line 3 $this{->page[header]} gibt natürlich Object{->page[header]} Also meine Frage: WIe muss ich das richtig maskieren, damit der Wert von $this->page[header] eingesetzt wird? Thorsten
php::bar PHP Wiki - Listenarchive