Аператар бяспечнага здабывання ў ААП у PHP
Аператар бяспечнага здабывання ?->
дазваляе
бяспечна звяртацца да метадаў і уласцівасцей аб'ектаў,
якія могуць быць null
.
Давайце паглядзім на прыкладзе. Хай у нас ёсць наступны клас:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Стварым аб'ект гэтага класу:
<?php
$user = new User('john');
?>
Вывядзем значэнне яго ўласцівасці:
<?php
$user = new User('john');
echo $user->name;
?>
Хай цяпер здарылася так, што замест
аб'екта ў нас null
. У гэтым выпадку
спроба звярнуцца да імя карыстальніка
прывядзе да памылкі:
<?php
$user = null;
echo $user->name; // памылка
?>
Каб падавіць памылку, мы можам выкарыстоўваць аператар бяспечнага здабывання:
<?php
$user = null;
echo $user?->name;
?>
Удасканальце наступны код праз аператар бяспечнага здабывання:
<?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;
?>