Opereta ya Uchimbaji Salama katika OOP katika PHP
Opereta ya uchimbaji salama ?-> inaruhusu
kufikia kwa usalama mbinu na sifa za vitu
ambavyo vinaweza kuwa null.
Tuangalie kwa mfano. Tuchukulie tuna darasa lifuatalo:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Tutengeneze kitu cha darasa hili:
<?php
$user = new User('john');
?>
Tutoe thamani ya sifa yake:
<?php
$user = new User('john');
echo $user->name;
?>
Tuchukulie sasa imetokea hivyo, kwamba badala ya
kitu tunakuwa na null. Katika hali hii
jaribio la kufikia jina la mtumiaji
litasababisha hitilafu:
<?php
$user = null;
echo $user->name; // hitilafu
?>
Ili kuzuia hitilafu, tunaweza kutumia opereta ya uchimbaji salama:
<?php
$user = null;
echo $user?->name;
?>
Boresha msimbo ufuatao kupitia opereta ya uchimbaji salama:
<?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;
?>