Heim > Backend-Entwicklung > PHP-Tutorial > Wie funktionieren Nullable-Typen in PHP 7 und höher?

Wie funktionieren Nullable-Typen in PHP 7 und höher?

Mary-Kate Olsen
Freigeben: 2024-12-15 12:39:11
Original
741 Leute haben es durchsucht

How Do Nullable Types Work in PHP 7 and Above?

Grundlegendes zu den Nullable-Typen von PHP 7 (?string oder ?int)

In PHP 7 gibt es eine neue Funktion, die als „nullable“ bekannt ist Typen“ eingeführt. Damit können Entwickler angeben, dass ein Parameter oder Rückgabewert entweder vom angegebenen Typ oder null sein kann. Nullable-Typen werden durch ein Fragezeichen (?) vor der Typdeklaration gekennzeichnet.

Nullable-Typen in Parametern

Syntax:

function test(?string $parameter1, string $parameter2) {}
Nach dem Login kopieren
  • Parameter, die als nullbar (?string) markiert sind, können sowohl Zeichenfolgen als auch Nullen akzeptieren Werte.
  • Parameter ohne nullfähige Typen (Zeichenfolge) müssen einen Wert ungleich Null erhalten, sonst wird ein Fehler ausgegeben.

Beispiel:

test("foo", "bar"); // OK
test(null, "foo"); // OK
test("foo", null); // Error
Nach dem Login kopieren

Nullable Types in Return Werte

Syntax:

function error_func(): int {
    return null ; // Error: Return value must be of type integer
}

function valid_func(): ?int {
    return null ; // OK
}
Nach dem Login kopieren
  • Funktionen mit nullable-Rückgabetypen können entweder den angegebenen Typ oder null zurückgeben.
  • Funktionen ohne nullable-Rückgabetypen muss Nicht-Null-Werte zurückgeben, sonst wird ein Fehler ausgegeben geworfen.

Nullable Types in Properties (PHP 7.4 )

Syntax:

class Foo
{
    private ?object $bar = null; // OK: can be null
}
Nach dem Login kopieren
  • Klasseneigenschaften können nullfähige Typen haben, was darauf hinweist, dass sie null enthalten können Werte.

Nullable Union Types (PHP 8.0 )

Ab PHP 8.0 gilt die „?T-Notation“ als Abkürzung für den allgemeinen Fall von T|null" ;h3>Fehlerbehandlung

Wenn die verwendete PHP-Version niedriger als 7.1 ist, Wenn nullfähige Typen verwendet werden, wird ein Syntaxfehler ausgegeben. Entfernen Sie in solchen Fällen das Fragezeichen (?).

class Foo
{
    private object|null $baz = null;
}
Nach dem Login kopieren

Referenzen

  • Nullable Type (PHP 7.1):

Klasseneigenschaften-Typdeklarationen (PHP 7.4):

Nullable Union Type (PHP 8.0):

Das obige ist der detaillierte Inhalt vonWie funktionieren Nullable-Typen in PHP 7 und höher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage