Задать вопрос
BloodKarl
@BloodKarl
В прошлом программист

Как правильно, если это возможно вызвать класс внутри другого класса?

В классе "В" не могу вызвать функцию класса "А". Чтоб её вызвать нужно её переопределять $a = new A() в классе "В". Как можно вызвать чтоб не переопределять? или может нужно как-то правильно описывать класс "А"?

index.php
$a = new A();
$b = new B();

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

B.php
class B {	
	function __construct() {
		$a->print_tst();
	}
}
  • Вопрос задан
  • 310 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
1) статический класс А
тут
class B {	
  function __construct() {
    $a->print_tst();
  }
}
кто и каким образом должен угадать что а это экземпляр класса А? соответственно:
2) При обращении нужно создать экземпляр класса А, иначе такой вызов не имеет смысла.
3) DI - передать в конструктор созданный экземпляр А
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
AxianLTD
@AxianLTD
Создать экземпляр класса "a" глобальным.
Ответ написан
T_y_l_e_r
@T_y_l_e_r
__construct($a)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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