ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗ppOpAdNO 20 of 107 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Оператор безопасного извлечения в ООП в PHP

Оператор безопасного извлечения ?-> позволяет безопасно обращаться к методам и свойствам объектов, которые могут быть null.

Давайте посмотрим на примере. Пусть у нас есть следующий класс:

<?php class User { public $name; public function __construct($name) { $this->name = $name; } } ?>

Создадим объект этого класса:

<?php $user = new User('john'); ?>

Выведем значение его свойства:

<?php $user = new User('john'); echo $user->name; ?>

Пусть теперь случилось так, что вместо объекта у нас null. В этом случае попытка обратиться к имени юзера приведет к ошибке:

<?php $user = null; echo $user->name; // ошибка ?>

Чтобы подавить ошибку, мы можем использовать оператор безопасного извлечения:

<?php $user = null; echo $user?->name; ?>

Улучшите следующий код через оператор безопасного извлечения:

<?php class Employee { public $name; public $salary; public function __construct($name, $salary) { $this->name = $name; $this->salary = $salary; } } $employee = new Employee('john', 1000); echo $employee->name; echo $employee->salary; ?>
byenru