Heim  >  Artikel  >  Backend-Entwicklung  >  Wie vermeidet PHP8 Nullprüfungen über den Nullsafe-Operator?

Wie vermeidet PHP8 Nullprüfungen über den Nullsafe-Operator?

WBOY
WBOYOriginal
2023-10-18 10:58:411305Durchsuche

PHP8如何通过Nullsafe Operator避免空值检查?

Wie vermeide ich die Nullwertprüfung in PHP8 durch den Nullsafe-Operator?

In der traditionellen PHP-Entwicklung müssen wir häufig eine Nullwertprüfung für Variablen durchführen, um Fehler durch leere Variablen zu vermeiden. Ein solcher Nullprüfcode kann jedoch dazu führen, dass der Code ausführlicher wird und die Lesbarkeit und Wartbarkeit des Codes beeinträchtigt wird. Glücklicherweise wurde in PHP8 der Nullsafe-Operator eingeführt, der uns helfen kann, das Problem der Nullwertprüfung eleganter zu lösen.

Nullsafe Operator ist eine neue Syntax zur Behandlung von Nullwerten in der Objektaufrufkette. Durch die Verwendung des Nullsafe-Operators können wir direkt auf die Eigenschaften oder Methoden eines Objekts zugreifen, ohne dass eine Nullwertprüfung erforderlich ist. Wenn das Objekt leer ist, gibt der Nullsafe-Operator direkt null zurück, ohne einen Fehler auszulösen.

Sehen wir uns ein konkretes Codebeispiel an, um zu zeigen, wie der Nullsafe-Operator verwendet wird:

class User {
    private ?string $name;
    private ?string $email;

    public function __construct(?string $name, ?string $email) {
        $this->name = $name;
        $this->email = $email;
    }

    public function getName(): ?string {
        return $this->name;
    }

    public function getEmail(): ?string {
        return $this->email;
    }
}

$user = new User("John Doe", "john@example.com");

// 使用Nullsafe Operator访问属性
$userName = $user?->getName();
$userEmail = $user?->getEmail();

// 输出结果
echo "User Name: " . $userName . "<br>";
echo "User Email: " . $userEmail . "<br>";

Im obigen Code definieren wir eine Benutzerklasse, die ein Namensattribut und ein E-Mail-Attribut enthält. Beide Eigenschaften werden als nullfähige Zeichenfolgentypen deklariert.

Als nächstes erstellen wir ein Benutzerobjekt und verwenden den Nullsafe-Operator, um auf seine Eigenschaften zuzugreifen. Wenn das User-Objekt leer ist, gibt der Nullsafe-Operator direkt null zurück, ohne einen Fehler auszulösen.

Abschließend geben wir die erhaltenen Attributwerte auf dem Bildschirm aus.

Durch Ausführen des obigen Codes können wir die folgende Ausgabe sehen:

User Name: John Doe
User Email: john@example.com

Wie aus der Ausgabe ersichtlich ist, haben wir den Eigenschaftswert des Benutzerobjekts erfolgreich erhalten, ohne dass Code für die Nullwertprüfung erforderlich war.

Die Einführung des Nullsafe-Operators vereinfacht den Prozess der Nullwertprüfung in der Objektaufrufkette erheblich und verbessert die Einfachheit und Lesbarkeit des Codes. Dadurch können wir uns mehr auf die Geschäftslogik konzentrieren, ohne uns zu viele Gedanken über die Nullprüfung machen zu müssen.

Es ist zu beachten, dass der Nullsafe-Operator nur für Methoden- und Eigenschaftsaufrufe verwendet werden kann, nicht jedoch für Funktionsaufrufe. Daher müssen wir bei der Verwendung des Nullsafe-Operators sicherstellen, dass wir ein Objekt bearbeiten.

Zusammenfassend lässt sich sagen, dass uns der Nullsafe-Operator von PHP8 eine einfachere und elegantere Möglichkeit bietet, Nullwerte zu überprüfen. Durch den Nullsafe-Operator können wir uns stärker auf die Verarbeitung der Geschäftslogik konzentrieren und den langwierigen Code zur Nullwertprüfung reduzieren. Bei der Projektentwicklung können wir diese Funktion voll ausnutzen, um die Einfachheit und Wartbarkeit des Codes zu verbessern.

Das obige ist der detaillierte Inhalt vonWie vermeidet PHP8 Nullprüfungen über den Nullsafe-Operator?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn