PHP'de OOP'de Güvenli Çıkarma Operatörü

Güvenli çıkarma operatörü ?->, null olabilecek nesnelerin metotlarına ve özelliklerine güvenli bir şekilde erişmemizi sağlar.

Bir örnek üzerinden inceleyelim. Aşağıdaki sınıfa sahip olduğumuzu varsayalım:

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

Bu sınıfın bir nesnesini oluşturalım:

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

Özelliğinin değerini yazdıralım:

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

Şimdi, nesne yerine elimizde null olduğunu varsayalım. Bu durumda kullanıcı adına erişmeye çalışmak bir hataya yol açacaktır:

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

Hatayı bastırmak için, güvenli çıkarma operatörünü kullanabiliriz:

php<?php
  $user = null;
  echo $user?->name;
?>
Задание 1

Aşağıdaki kodu güvenli çıkarma operatörünü kullanarak iyileştirin:

php<?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;
?>