@pola_pumpkin

Объявить свойство как объект — ошибка?

Привет, не могу понять, почему не могу достучаться до массива.
Решил объявить свойство объектом и работать через него

public $shop;
 
        public function __construct(){
            $this->shop = new Shop;
        }
 
        #1.Showing shop basket for user
        public function showBasket(){
            if(!empty($this->array)){
                foreach($this->array as $key => $value){
                    $this->shop->render($key);
                    echo "<br><br>";
                }
            }
        }


На выходе получаю такую картину:
5f86c6d785c5f916347144.png

https://pastebin.com/PfN2zrdB - ссылка на код
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
@FanatPHP
Чебуратор тега PHP
То есть ты искренне считаешь, что если в каком-то месте кода напишешь
$this->shop = new Shop;
эта переменная сразу получит доступ ко всем объектам класса Shop, когда-либо созданным в коде?
И твой пример можно упросить до такого

class Person {
        public function __construct(){
            $this->name = '';
        }
 
        public function showname(){
            echo $this->name;
        }
}
$name = "Вася";
$person = new Person;
$person->showname();

и потом удивляться, почему он ничего не выводит?
Ответ написан
Ваш ответ на вопрос

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

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