Вопрос №45160 от пользователя Вильдан Фазлыев в уроке «Null Object Pattern», курс «PHP: Полиморфизм»

Вильдан Фазлыев

Как так получается, что мы создаем объект класса, передавая в него объект, который в данный момент еще не создан?

new FakeSubscription($this);

Ведь объект наверное создастся тогда, когда завершится метод __construct, а мы получается в этом же методе __constract передаем тот объект, который в данный момент создаем только. Или же new FakeSubscription() уже создал объект, a __construct лишь заполняет его сверху? Но в таком случае, переданный объект $this должен иметь пустое значение $this->email.

1 2

Nikolai Gagarinov

Добрый день. Попробуйте поэкспериментировать и использовать var_dump() внутри конструктора. А еще вопрос на подумать - если объект не создан, то что происходит в конструкторе, если в нем есть запись вида $this->user = $user;

1

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы соглашаетесь c «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
22 сентября 8 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
22 сентября 8 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
22 сентября 8 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
22 сентября 8 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
22 сентября 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Новый
Создает веб-приложения со скоростью света
22 сентября 5 месяцев

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

Константин Ситников 22 июля 2021 →

Ревью (https://ru.hexlet.io/code_reviews/426571). Не понимаю что я делаю не так. Получается что у меня что-...

Алексей Швецов 29 марта 2021 →

Здравствуйте. При решения испытал некий... диссонанс. В моменте, где нужно было дописать конструктор User д...

Gleb Varganov 12 ноября 2020 →

Добрый вечер! Хотел узнать Вашего мнения по поводу правильности конструкции в ревью. https://ru.hexlet.io/c...

Станислав Пефтев 26 августа 2020 →

Обратите внимание на проверку существования пользователя. Если её не сделать, то код упадёт с ошибкой, пото...

Евгений Вафиев 09 мая 2020 →

Добрый вечер) Хотелось бы уточнить недостатки такой реализации (https://ru.hexlet.io/code_reviews/263055)))...