<?php class TemplateParam { public $value; public $children; public $attributes; public function __construct($value) { $this->value = $value; } public function setAttribute($name,$value) { $this->attributes[$name] = $value; } public function dropAttribute($name) { } public function __get($name) { return $this->children[$name]; } } class Template { public $templateData; public function __set($name,$value) { $this->templateData[$name] = new TemplateValue($value); } public function __get($name) { return $this->templateData[$name]; } } ?>
Mam takie klasy i natknalem sie na pewien problem, nie wiem jak to rozwiazac chce aby __get w klasie TemplateValue dzialalo na dwa sposoby, jezeli zwracam sie
$Template->zmienna = "lalala" to tworzy sie obiekt klasy TemplateValue i zmienna value przybiera wartosc "lalala", jezeli wykonam $Template->zmienna->zmienna2 to __get zwraca mi zmienna $children[$zmienna2]->value jezeli wykonam $Template->zmienna->zmienna2 to dostaje $children[$zmienna2]->value a jak $Template->zmienna->zmienna2->zmienna3 to $children[$zmienna2->children[$zmienna3]]->value, nie wiem czy dobrze wytlumaczylem