Veilige Uittrekseloperator in OOP in PHP
Die veilige uittrekseloperator ?-> laat
veilige toegang tot metodes en eienskappe van objekte toe,
wat moontlik null kan wees.
Kom ons kyk na 'n voorbeeld. Gestel ons het die volgende klas:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Kom ons skep 'n objek van hierdie klas:
<?php
$user = new User('john');
?>
Kom ons toon die waarde van sy eienskap:
<?php
$user = new User('john');
echo $user->name;
?>
Gestel dit gebeur nou dat ons
null het in plaas van 'n
objek. In hierdie geval
sal 'n poging om na die gebruikersnaam te verwys
lei tot 'n fout:
<?php
$user = null;
echo $user->name; // fout
?>
Om die fout te onderdruk, kan ons die veilige uittrekseloperator gebruik:
<?php
$user = null;
echo $user?->name;
?>
Verbeter die volgende kode deur die veilige uittrekseloperator:
<?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;
?>