Heim >Backend-Entwicklung >PHP8 >Wie verwende ich benannte Argumente in PHP8, um die Lesbarkeit des Codes zu verbessern?

Wie verwende ich benannte Argumente in PHP8, um die Lesbarkeit des Codes zu verbessern?

PHPz
PHPzOriginal
2023-10-18 08:42:36987Durchsuche

PHP8中如何使用Named Arguments来提高代码可读性?

Wie verwende ich benannte Argumente in PHP8, um die Lesbarkeit des Codes zu verbessern?

Mit der Veröffentlichung von PHP8 gibt es eine sehr aufregende neue Funktion: Named Arguments. Mit benannten Argumenten können wir Werte übergeben, indem wir Argumenten bei Funktionsaufrufen Namen zuweisen. Diese Funktion macht den Code lesbarer und wartbarer. In diesem Artikel erfahren Sie, wie Sie mit benannten Argumenten die Lesbarkeit von Code verbessern und dies anhand konkreter Codebeispiele demonstrieren.

Bei herkömmlichen PHP-Funktionsaufrufen verwenden wir normalerweise Positionsparameter, um Werte zu übergeben. Dieser Ansatz funktioniert gut, wenn wenige Parameter und eine klare Parameterreihenfolge vorhanden sind. Wenn eine Funktion jedoch eine große Anzahl von Parametern hat und die Reihenfolge zwischen den Parametern unklar ist, wird die Lesbarkeit des Codes schlecht. An dieser Stelle sind benannte Argumente nützlich.

In PHP8 können wir eine Array-ähnliche Syntax verwenden, um Werte zu übergeben, indem wir den Namen des Parameters angeben. Schauen wir uns ein konkretes Beispiel an, um dieses Konzept zu veranschaulichen.

function calculateRectangleArea(int $length, int $width, string $unit = "") {
    echo "Calculating rectangle area: ";
    echo $length * $width . " " . $unit;
}

// 使用位置参数调用函数
calculateRectangleArea(5, 10, "cm");

// 使用命名参数调用函数
calculateRectangleArea(length: 5, width: 10, unit: "cm");

Im obigen Beispiel haben wir eine Funktion namens calculateRectangleArea definiert, die drei Parameter akzeptiert ($length, $width und $unit). Im ersten Aufruf haben wir die Parameterwerte in Positionsreihenfolge übergeben. Im zweiten Aufruf verwenden wir jedoch benannte Argumente, um den Parameterwert zu übergeben. Auf diese Weise können wir den Zweck der Parameter klarer erkennen und den Code leichter verstehen. calculateRectangleArea的函数,它接受三个参数($length, $width$unit)。在第一个调用中,我们按照位置顺序传递了参数值。然而,在第二个调用中,我们使用了Named Arguments来传递参数值。这样一来,我们可以更清晰地看到参数的用途,使代码更易于理解。

Named Arguments还允许我们在函数调用中仅传递部分参数,并且不需要按照顺序传递。让我们看一个例子来演示这一点。

function createUser(string $username, string $password, string $email = "") {
    echo "Creating user: ";
    echo "Username: " . $username . ", Password: " . $password . ", Email: " . $email;
}

// 使用位置参数调用函数
createUser("john", "password", "john@example.com");

// 使用命名参数调用函数(省略$email参数)
createUser(username: "john", password: "password");

在上面的例子中,我们定义了一个名为createUser的函数,它接受三个参数($username, $password$email)。在第一个调用中,我们按照位置顺序传递了所有参数值。然而,在第二个调用中,我们省略了$email参数,并使用了Named Arguments来传递其它两个参数值。这样一来,我们可以只关注我们想传递的参数,并且不需要担心参数的顺序。

除了在函数调用时使用Named Arguments,我们还可以在函数定义时使用。这样一来,我们可以为函数的参数提供默认值,并通过Named Arguments来灵活地覆盖这些默认值。让我们看一个示例来理解这个概念。

function sendEmail(string $to, string $subject, string $body = "Hello", bool $cc = false) {
    echo "Sending email to: " . $to;
    echo "Subject: " . $subject;
    echo "Body: " . $body;
    echo "CC Enabled: " . ($cc ? "Yes" : "No");
}

// 使用默认参数值调用函数
sendEmail("john@example.com", "Hello World");

// 使用命名参数覆盖默认参数值
sendEmail(to: "john@example.com", subject: "Hello World", cc: true);

在上面的例子中,我们定义了一个名为sendEmail的函数,它接受四个参数($to, $subject, $body$cc)。在第一个调用中,我们使用了默认参数值来调用函数。而在第二个调用中,我们使用Named Arguments来覆盖了$cc

Mit benannten Argumenten können wir auch nur einen Teil der Argumente im Funktionsaufruf übergeben und müssen sie nicht der Reihe nach übergeben. Schauen wir uns ein Beispiel an, um dies zu demonstrieren.

rrreee

Im obigen Beispiel haben wir eine Funktion namens createUser definiert, die drei Parameter akzeptiert ($username, $password und $email). Im ersten Aufruf haben wir alle Parameterwerte in Positionsreihenfolge übergeben. Im zweiten Aufruf lassen wir jedoch den Parameter $email weg und verwenden benannte Argumente, um die anderen beiden Parameterwerte zu übergeben. Auf diese Weise können wir uns nur auf die Parameter konzentrieren, die wir übergeben möchten, und müssen uns nicht um die Reihenfolge der Parameter kümmern. 🎜🎜Neben der Verwendung benannter Argumente beim Aufrufen von Funktionen können wir sie auch beim Definieren von Funktionen verwenden. Auf diese Weise können wir Standardwerte für die Parameter der Funktion bereitstellen und diese Standardwerte durch benannte Argumente flexibel überschreiben. Sehen wir uns ein Beispiel an, um dieses Konzept zu verstehen. 🎜rrreee🎜Im obigen Beispiel haben wir eine Funktion namens sendEmail definiert, die vier Parameter akzeptiert ($to, $subject, $body und $cc). Im ersten Aufruf rufen wir die Funktion mit Standardparameterwerten auf. Im zweiten Aufruf verwenden wir benannte Argumente, um den Standardwert des Parameters $cc zu überschreiben. Auf diese Weise können wir das Verhalten der Funktion einfach steuern, ohne bei jedem Funktionsaufruf alle Parameter angeben zu müssen. 🎜🎜Zusammenfassend lässt sich sagen, dass uns die benannten Argumente von PHP8 eine lesbarere und flexiblere Möglichkeit bieten, Funktionen aufzurufen. Durch die Übergabe von Werten durch Angabe der Namen der Parameter können wir die Bedeutung der Funktionsparameter klarer erkennen und müssen uns nicht um die Reihenfolge der Parameter kümmern. Diese Funktion kann die Lesbarkeit und Wartbarkeit von Code erheblich verbessern. Versuchen Sie daher bei der Entwicklung von PHP8-Projekten, benannte Argumente zu verwenden, um klaren und leicht verständlichen Code zu schreiben. 🎜

Das obige ist der detaillierte Inhalt vonWie verwende ich benannte Argumente in PHP8, um die Lesbarkeit des Codes zu verbessern?. 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

In Verbindung stehende Artikel

Mehr sehen