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
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Bu sınıfın bir nesnesini oluşturalım:
<?php
$user = new User('john');
?>
Özelliğinin değerini yazdıralım:
<?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
$user = null;
echo $user->name; // hata
?>
Hatayı bastırmak için, güvenli çıkarma operatörünü kullanabiliriz:
<?php
$user = null;
echo $user?->name;
?>
Aşağıdaki kodu güvenli çıkarma operatörünü kullanarak iyileştirin:
<?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;
?>