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

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

Войти через центр авторизации
Похожие вопросы