Как правильно, если это возможно вызвать класс внутри другого класса? В классе "В" не могу вызвать функцию класса "А". Чтоб её вызвать нужно её переопределять $a = new A() в классе "В". Как можно вызвать чтоб не переопределять? или может нужно как-то правильно описывать класс "А"?index.php$a = new A();
$b = new B();A.phpclass A {
public function print_tst() {
echo "tst";
}
}B.phpclass B {
function __construct() {
$a->print_tst();
}
}

21 Авг 2019 в 07:02
362 +1
0
Ответы
1

Для того, чтобы вызвать функцию класса "A" внутри класса "B" без необходимости повторного создания объекта класса "A" в классе "B", можно передать объект класса "A" в конструктор класса "B" и сохранить его в свойстве класса "B".

Пример:

index.php

$a = new A();
$b = new B($a);

A.php

class A {
public function print_tst() {
echo "tst";
}
}

B.php

class B {
private $a;
function __construct($a) {
$this->a = $a;
$this->a->print_tst();
}
}

Теперь функция print_tst класса "A" будет вызвана в конструкторе класса "B", используя сохраненный объект класса "A" в свойстве класса "B".

20 Апр 2024 в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир