@lexstile

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

Есть классы:
class DataBase{
	public function name1(){
		//
	}
}
class User(){
	public function name2(){
		// Здесь нужно вызвать метод name1() из класса DataBase
	}
}

Пробую:
protected $db;
    public function __constructor(DataBase $DB)
    {
        $this->db = $DB;
    }
	public function name2(){
		$this->db->name1();
	}

Ошибка:
Call to a member function name1() on null in...
Работает только в том случае, если я инициализирую класс внутри метода name2().
  • Вопрос задан
  • 4087 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега PHP
Тебе написано: Call to a member function name1() on null, это значит что в поле $this->db значение $this->db. $this->db, у тебя, инициализируется в конструкторе класса значение из параметра $DB. Это значит, что в $DB тоже null. И вот теперь думай, почему в твой класс передается null, вместо объекта класса DataBase.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
04 мая 2024, в 05:49
10000 руб./за проект
04 мая 2024, в 03:57
10000 руб./за проект
04 мая 2024, в 01:47
2000 руб./за проект