PHP OOP에서 안전한 추출 연산자
안전한 추출 연산자 ?->는
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;
?>