Nullsafe-Operator in OOP in PHP
Der Nullsafe-Operator ?-> ermöglicht
den sicheren Zugriff auf Methoden und Eigenschaften von Objekten,
die null sein können.
Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die folgende Klasse:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Erstellen wir ein Objekt dieser Klasse:
<?php
$user = new User('john');
?>
Geben wir den Wert seiner Eigenschaft aus:
<?php
$user = new User('john');
echo $user->name;
?>
Nehmen wir nun an, dass wir statt
einem Objekt null haben. In diesem Fall
würde der Versuch, auf den Benutzernamen zuzugreifen,
zu einem Fehler führen:
<?php
$user = null;
echo $user->name; // Fehler
?>
Um den Fehler zu unterdrücken, können wir den Nullsafe-Operator verwenden:
<?php
$user = null;
echo $user?->name;
?>
Verbessern Sie den folgenden Code mit dem Nullsafe-Operator:
<?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;
?>