Pengendali Pengekstrakan Selamat dalam OOP dalam PHP
Pengendali pengekstrakan selamat ?-> membolehkan
akses yang selamat kepada kaedah dan sifat objek
yang mungkin null.
Mari kita lihat contoh. Katakan kita mempunyai kelas berikut:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Mari buat objek kelas ini:
<?php
$user = new User('john');
?>
Mari cetak nilai sifatnya:
<?php
$user = new User('john');
echo $user->name;
?>
Katakan sekarang berlaku keadaan di mana
objek kita adalah null. Dalam kes ini,
cubaan untuk mengakses nama pengguna
akan menyebabkan ralat:
<?php
$user = null;
echo $user->name; // ralat
?>
Untuk menyekat ralat, kita boleh menggunakan pengendali pengekstrakan selamat:
<?php
$user = null;
echo $user?->name;
?>
Baikilah kod berikut melalui pengendali pengekstrakan selamat:
<?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;
?>