Эта тема на forum.dklab.ru


weber2005: Вызов класса в классе видимость массива объектов
Вызов класса в классе видимость массива объектов

Вызов класса в классе видимость массива объектов

есть базовый класс в котором мы инциализируем все объекты и складываем их в массив obj

class CoreSys {
function CoreSys() {
$this->obj =& $this->InitCore();
$this->sel = new Selector();
$this->sel->Start();
}
....


и есть класс Selector


class Selector {
var $sys;
var $cfg;
var $obj;
...
function Start()
{
global $sys, $cfg, $obj;
$sys->obj->error_log('103') // не работает


если вынести создание объекта Selector за пределы базового класа то все отлично работает, а внути не хочет .... почему ?
в чем я ошибся.

тоже самое отлично работает для всех объектов внутри $sys->obj но не для класса Selector
chin:
class CoreSys {
function CoreSys() {
$this->obj =& $this->InitCore();
$this->sel = new Selector($this);
$this->sel->Start();
}
class Selector {
var $sys;
var $cfg;
var $obj;
function Selector(&$sys)
{
$this->sys =& $sys;
...
}
...
function Start()
{
global $sys, $cfg, $obj;
$this->sys->obj[errLog]->error_log('103');
weber2005:
спасибо... но не помогло -(
$sys->obj массив пуст...
такое впячатление что он не досоздан на момент вызова класса Selector,
но как такое может быть я не понимаю...
chin:
function CoreSys():
$this->sel =& new Selector($this);

Эта тема на forum.dklab.ru