yous
@yous

Как в php получить переменную в классе созданную через другой класс?

class A {
     public $value = false;
   
}
class B extends A {
   function __construct(){
         $this->value = rand();
    }
}
class C extends A {
   function __construct(){
        echo $this->value; // false как здесь получить rand() от класса B
    }   
}
  • Вопрос задан
  • 975 просмотров
Пригласить эксперта
Ответы на вопрос 3
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
class C extends A {
   function __construct(){
        echo (new B)->value;
    }   
}


class C extends B {
   function __construct(){
        parent::__construct();
        echo $this->value;
    }   
}
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Для начала: надеюсь вы понимаете что вы описали классы, а не объекты.
Далее, для того чтобы получить объект нужно создать экземпляр класса, например
$c = new C(); где в $c, благодаря наследованию внесена переменная $this->value;
Теперь вы хотите каким-то образом получить значение из класса В(экземпляр которого может и не существовать на этот момент), соответственно, нужно либо получить из В результат рандома, в случае если объект уже создан, либо создать экземпляр В и получить значение из него. "Автоматически" значение не перенесется, т.к. эти объекты напрямую не связаны наследованием.
Ответ написан
Комментировать
kimono
@kimono
Web developer
class A {
     public $value = false;
   
}
class B extends A {
   function __construct(){
         $this->value = rand();
    }
}
class C extends B {
   function __construct(){
        parent::__construct();
        echo $this->value; // false как здесь получить rand() от класса B
    }   
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы