alestro
@alestro

В конструктор не приходит переменная, как исправить?

Есть модель категорий у нее есть конструктор, в который должен приходить объект базы данных, но при инстанцировании этой модели(Категорий) выдает:
Catchable fatal error: Argument 1 passed to models\Categories::__construct() must be an instance of core\Database, none given in
Убираю тайп хинт и получаю ошибку уровня warning:
Missing argument 1 for models\Categories::__construct()
public function __construct(\core\Database $db){
		$this->db=$db;
}//Конструктор класса models\Categories
var_dump($register->getDb());//object(core\Database)#1 (0) { } 
$categories=new\models\Categories($register->getDb());
  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Fellowship
Скорее всего ошибка в другом месте кода как указал 27cm или почему-то $register->getDb() может отдавать объект только один раз.

Оффтоп: прочитайте про SIngleton, и вообще лучше работу с базой обернуть в статичные методы. Это позволит в дальнейшем облегчить работу с базой и не гонять каждый раз в каждый объект ссылку на объект БД.
Ответ написан
Ваш ответ на вопрос

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

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