Turvalise omaduse poördumise operaator OOP-s PHP-s
Turvalise omaduse poördumise operaator ?-> võimaldab
turvaliselt poörduda meetodite ja omaduste poole objektides,
mis võivad olla null.
Vaatame näidet. Olgem meil järgmine klass:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Loome selle klassi objekti:
<?php
$user = new User('john');
?>
Väljastame selle omaduse väärtuse:
<?php
$user = new User('john');
echo $user->name;
?>
Olgem nüüd, et selle asemel, et meil on
objekt, on meil null. Sel juhul
katse poörduda kasutaja nime poole
viib veani:
<?php
$user = null;
echo $user->name; // viga
?>
Et viga summutada, saame me kasutada turvalise omaduse poördumise operaatorit:
<?php
$user = null;
echo $user?->name;
?>
Parandage järgnevat koodi läbi turvalise omaduse poördumise operaatori:
<?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;
?>