Здравствуйте! Такая проблема.Есть такая вот схема работы: при старте скрипт получает в параметрах имя "модуля", и метод этого модуля. После чего инклудит нужный файл с классом запрашиваемого модуля, и создает экземпляр этого модуля(в каждом модуле срабатывает конструктор), затем запускает запрашиваемый метод. примерно так: index.php PHP: include_once ('navigator.class.php'); include_once ('acts.class.php'); $app = new navigator(); $app->run($module,method); navigator.class.php PHP: ..... function run($module,$method) { require_once($module."class.php"); $class=new $module(); $class->start($method); //функция start() является общей для всех модулей.ниже видно. } .... Пример модуля(example.class.php): PHP: class example extends acts { function example() { ........ $this->response='the test'; } .................. } acts.class.php(хранилище всех переменных и функции обработки и вывода сформированной модулями информации) PHP: var $response=null; .......//все переменные нужные для обработки и вывода информации function start($method) { ....//подготовка данных if (!method_exists($this, $method)) {print "error"; exit;} $this->$method(); ....//обработка данных print $out; } ...... Дык вот, схему эту менять совсем не хочется, ибо очень удобно. Но возникла одна проблема, нужно написать модуль(A), для управлениями другими модулями(B), при чем функции управления находятся во вторых.все возможные модули являются потомками класса acts, важно что, чтобы при инициализации B из A, не происходила обнуление переменных класса acts, при этом, при последуещей проверке на наличие метода из класса B в классе A, возращалось true.идеальный вариант: PHP: class A extends acts { function A() { $b=new B(); $this=$b; } } При таком раскладе, все получается идеально, только вот обнуляются значение переменных класса acts(т.к. B является также его потомком). Я уже запутался(( никак не могу придумать эдакого посредника, а очень нужно(.. Направьте на путь истинный уважаемые профессионалы пожалуйста Заранее спасибо.
Решил вот так: PHP: class A extends acts { function A() { $b=new B(); $vars= get_object_vars($this); foreach($vars as $key => $v) { $b->$key=$v; } $this=$b; } }