Задать вопрос
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();
	}
}
  • Вопрос задан
  • 311 просмотров
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Решения вопроса 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)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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