Heim > Backend-Entwicklung > PHP8 > Beispiel für neue Funktionen in PHP8: Wie kann man Attributabzug und Code verwenden, um doppelten Code zu reduzieren?

Beispiel für neue Funktionen in PHP8: Wie kann man Attributabzug und Code verwenden, um doppelten Code zu reduzieren?

王林
Freigeben: 2023-09-12 19:15:27
Original
633 Leute haben es durchsucht

Beispiel für neue Funktionen in PHP8: Wie kann man Attributabzug und Code verwenden, um doppelten Code zu reduzieren?

PHP8 ist die neueste Version der Programmiersprache PHP, die offiziell am 26. November 2020 veröffentlicht wurde. Als eine in der Webentwicklung weit verbreitete Sprache bringt PHP8 viele aufregende neue Funktionen mit, darunter Funktionen zur Eigenschaftsinferenz und Codereduzierung. In diesem Artikel werden einige Beispiele für die Verwendung dieser neuen Funktionen vorgestellt.

1. Attributableitung

In früheren PHP-Versionen mussten wir Getter- und Setter-Methoden für Klassenattribute manuell definieren, um auf Attribute zuzugreifen und diese zu ändern. Aber in PHP8 können wir den Attributabzug nutzen, um diesen Prozess zu vereinfachen.

Betrachten Sie das folgende Beispiel: Wir erstellen eine Personenklasse mit zwei Eigenschaften: Name und Alter:

class Person {
    public string $name;
    public int $age;

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

    public function setName(string $name): void {
        $this->name = $name;
    }

    public function getAge(): int {
        return $this->age;
    }

    public function setAge(int $age): void {
        $this->age = $age;
    }
}
Nach dem Login kopieren

In PHP8 können wir die Eigenschaftsableitung verwenden, um diesen Code zu vereinfachen:

class Person {
    public function __construct(
        public string $name,
        public int $age,
    ) {}
}
Nach dem Login kopieren

Durch die Verwendung der Eigenschaftsableitung können wir die Eigenschaften direkt definieren der Klasse im Konstruktor und lassen Sie die Definition von Getter- und Setter-Methoden weg. Jetzt können wir die Person-Klasse instanziieren und auf die Eigenschaften auf folgende Weise zugreifen:

$person = new Person('John Doe', 25);
echo $person->name;  // 输出:John Doe
echo $person->age;  // 输出:25
Nach dem Login kopieren

Wie Sie sehen, vereinfacht die Verwendung der Eigenschaftsableitung die Codestruktur erheblich und reduziert das Schreiben von redundantem Code.

2. Reduzieren Sie die Codeduplizierung

In PHP8 haben wir auch einige neue Funktionen und Funktionen eingeführt, die zur Reduzierung der Codeduplizierung verwendet werden können. Zwei dieser Funktionen werden im Folgenden vorgestellt: benannte Parameter und der Null-Koaleszenzoperator.

  1. Benannte Parameter

Benannte Parameter bedeuten, dass beim Aufruf einer Funktion oder Methode Parameterwerte durch Angabe von Parameternamen übergeben werden können. Dadurch wird die Abhängigkeit von der Parameterposition verringert und die Lesbarkeit und Wartbarkeit des Codes verbessert.

Betrachten Sie das folgende Beispiel: Wir haben eine Funktion, die die Summe zweier Zahlen berechnet:

function sum(int $a, int $b): int {
    return $a + $b;
}

echo sum(5, 10);  // 输出:15
Nach dem Login kopieren

In früheren Versionen mussten wir Parameterwerte in der Reihenfolge übergeben, in der die Funktion definiert wurde. Aber in PHP8 können wir benannte Parameter verwenden, um Funktionen aufzurufen:

echo sum(b: 5, a: 10);  // 输出:15
Nach dem Login kopieren

Durch die Angabe von Parameternamen können wir Parameterwerte in beliebiger Reihenfolge übergeben, wodurch der Code intuitiver und lesbarer wird.

  1. Null-Koaleszenzoperator

In PHP müssen wir oft prüfen, ob eine Variable null ist, und einen Standardwert bereitstellen, wenn sie null ist. In früheren Versionen haben wir normalerweise den ternären Operator oder die if-Anweisung verwendet, um diese Funktion zu erreichen.

Betrachten Sie das folgende Beispiel: Wir müssen prüfen, ob eine Variable null ist, und sie mit einem Standardwert versehen:

$username = isset($_GET['username']) ? $_GET['username'] : 'Guest';
Nach dem Login kopieren

In PHP8 können wir den Null-Koaleszenzoperator (??) verwenden, um diesen Code zu vereinfachen:

$username = $_GET['username'] ?? 'Guest';
Nach dem Login kopieren

If $ Wenn _GET['username'] nicht null ist, weisen Sie seinen Wert $username zu; andernfalls weisen Sie 'Guest' $username zu.

Zusätzlich zu den oben genannten Beispielen führt PHP8 auch einige andere neue Funktionen ein, wie z. B. Übereinstimmungsausdrücke, statische Rückgabetypdeklarationen usw. Diese Funktionen haben die Funktionalität und Flexibilität von PHP erheblich verbessert.

Zusammenfassung:

In diesem Artikel werden zwei neue Funktionen in PHP8 vorgestellt: Attributabzug und Codereduzierung, um Code zu duplizieren. Durch die Eigenschaftsableitung wird die Definition von Klasseneigenschaften prägnanter und intuitiver, wodurch das Schreiben redundanter Getter- und Setter-Methoden reduziert wird. Die beiden Funktionen benannter Parameter und Null-Koaleszenzoperator verbessern die Lesbarkeit und Wartbarkeit des Codes. Mit der Veröffentlichung von PHP8 können wir einfacher prägnanten und effizienten PHP-Code schreiben.

Das obige ist der detaillierte Inhalt vonBeispiel für neue Funktionen in PHP8: Wie kann man Attributabzug und Code verwenden, um doppelten Code zu reduzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage