слежение за классом-носителем.

solaris

Новичок
слежение за классом-носителем.

Прям и не знаю как это назвать:)
Сразу сорри за тупость, но такая задача:
есть клас A и класс B, внутри класса A происходит инициализация класса B. При чем класс B должен видеть все свойства и методы класса A.
На ум приходит только следующее:

PHP:
class B
{
  public $classA;
  
  public function __construct($a)
  {
     $this->classA=$a;
  }
}

class A
{
   public $test;
   public $classB;
 
   public function __construct()
   {
       $this->classB=new B($this);
       $this->test="asd";
   }
  
}
Не слишком ли маразматическое решение? может можно как-нить поизящней заполучить доступ из класса B ко всем свойствам и методам класса A?...
(если отталкиваться от конечного: то класс B должен являться некоей оболочкой к классу А)


Смущает собственно при таком решении, вот така штука:
то что в классе B в свойстве classA, возникает рекурсия.....
 

AmdY

Пью пиво
Команда форума
а зачем тебе это. обычно если получается как-то сложно и запутано, нужно искать другой способ решения проблемы
 

weregod

unserializer
если класс B есть оболочка класса A, зачем в конструкторе класса A создаётся объект класса B?
 

solaris

Новичок
я б с радостью:)))....
Но честно говоря, не знаю как правильно связать компоненты, отталкиваюсь от архитектуры ОС, то есть(сверху вниз):

Kernel-SCI-Application and Library....

Нет какой-то конкретной цели, просто решил лучше разобраться в ООП, взял как задачу повтор (сильно упрощеннной)архитектуры linux. Если предположить что класс A это ядро, а класс B SCI, класс C и D приложения. То как лучше всего связать это все?
 

AmdY

Пью пиво
Команда форума
есть клас A и класс B, внутри класса A происходит инициализация класса B. При чем класс B должен видеть все свойства и методы класса A.
На ум приходит только следующее
а может тебе просто нужно наследование
class A extends B {}
но даже так, класс А будет видеть только public и protected методы

-~{}~ 16.09.08 20:49:

твою мою ихнюю всехнию, извращенец
 

solaris

Новичок
наследование не подходит, ибо, если придержтиваться задаче:), н иже ядра уровень железа, перенося логику на веб, как я понимаю, железлом можно прдставить некие внешние приложения, типа базы данных крона и прочего.... очень бы хотелось бы чтобы ими занималось само ядро. например для БД, в класс A включаем свойство: var db. и оно естественно может изменяться в процессе работы приложения, SCI-уровень должен все это дело видеть, а если наследовать, то мы еполучим первоначальное состояние ядра(его свойств). совсем не допру как сделать лучше:(
 

solaris

Новичок
HraKK
Спасибо за подсказку:)))


Если кому интересно:
http://phppatterns.plusominus.ru/content/view/30/1/

вот что значит правильный запрос в гугле:)))
 
Сверху