Есть два класса. Вызвать метод второго класса из первого.
Класс A создает в себе два экземпляра класса B. Позже при попытке вызвать метод set() класса В, я получаю ошибку. Что не так?
class A{
public$cart;
public$fav;
function __construct() {
$cart=new B(1);
$fav=new B(2);
return $this;
}
}
class B{
public function set(){
//делаем что-нибудь
}
function __construct($type){
}
}
$mycart=new A();
$mycart->cart->set();
Fatal error: Call to a member function set() on a non-object
Решено: в конструкторе класса А забыл поставить $this->
По дате
По рейтингу
Потому, что в конструкторе переменная $cart у тебя получается как локальная переменная метода, а нужно ее задавать через $this->cart
$this->cart = new B(1);
$this->fav = new B(2);
Переходи на Python, там все понятнее)))