объекты: как родителю передать свойства потомков

demmi

Guest
объекты: как родителю передать свойства потомков

Есть код:
PHP:
class A {
var $name;  
var $data;   

function addchild($name,$data){
$name = new A ($name,$data);
$name->data = $data;
return $name;
}

function restore(){
extract($GLOBALS);
eval ("\$this->data=\"$this->data\";");
}

}

Хочется чтобы:

$AA =& new A();
$AA->data='some text $BB->data some text';
$BB=$AA->addchild('BB','more text $CC->data more text');
$CC=$BB->addchild('CC','final text');
$AA->restore();
echo $AA->data;
выдавало не:

some text more text $CC->data more text some text

а следующее:

some text more text final text more text some text

т.е. родители наследовали от потомков и на любую глубину.
Важно чтобы наследование $AA->restore(); происходило 1 раз.
 

гоша

Guest
что-то не получилось у вас.
может, попробуете еще раз спросить?
а то ничегошеньки непонятно.
 

tony2001

TeaM PHPClub
>$BB=$AA->addchild('BB','more text $CC->data more text');
я думаю, вам стоит немного почитать про синтаксис РНР, как он обрабатывает переменные внутри строки, как обрабатываются одинарные кавычки и как двойные.
про основы ООП тоже неплохо бы почитать.
сама необходимость копировать _значения_ атрибутов родителя детям лично мне кажется ...ммм... высосанной из пальца.
 

demmi

Guest
почему высосана из пальца?
Это обычный темплейтизатор страниц где объекты-шаблоны могут быть вложенными.
рассмотрим : есть index.php
имеем шаблон для этого индекса
в нем есть: таблица - шаблон таблицы
кнопка - шаблон кнопки
и т.д.
Обрабатывается в таком порядке в итоге вложенная структура.
 

Demiurg

Guest
Вы помешались что ли все ? Все пишут свои шаблонные движки.

demmi
ты бы поподробнее обьяснил, а то я смотрю на код и ничег оне понимаю, что он должен делать.
 

demmi

Guest
спасибо всем за внимание, решение сообразил сам....
 
Сверху