Saugaus ištraukimo operatorius OOP PHP
Saugaus ištraukimo operatorius ?-> leidžia
saugiai kreiptis į objektų metodus ir savybes,
kurios gali būti null.
Pažiūrėkime pavyzdžiu. Tarkime, kad turime šią klasę:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Sukurkime šios klasės objektą:
<?php
$user = new User('john');
?>
Išveskime jo savybės reikšmę:
<?php
$user = new User('john');
echo $user->name;
?>
Tarkime, kad dabar atsitiko taip, kad vietoj
objekto mes turime null. Šiuo atveju
bandoma kreiptis į vartotojo vardą
sukels klaidą:
<?php
$user = null;
echo $user->name; // klaida
?>
Kad išvengtume klaidos, galime naudoti saugaus ištraukimo operatorių:
<?php
$user = null;
echo $user?->name;
?>
Patobulinkite šį kodą naudodami saugaus ištraukimo operatorių:
<?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;
?>