Type Hinting-Funktion in PHP7: Wie kann der Parametertyp einer Funktion klargestellt werden, um Fehler und Unsicherheiten zu vermeiden?
Einführung:
Während des Entwicklungsprozesses stoßen wir häufig auf das Problem der Übergabe von Funktionsparametern. Manchmal treten Fehler und Unsicherheiten aufgrund unklarer Funktionsparametertypen auf. Um dieses Problem zu lösen, hat PHP7 die Type Hinting-Funktion eingeführt, die es uns ermöglicht, den Typ von Funktionsparametern explizit anzugeben, wodurch einige häufige Fehler vermieden und die Unsicherheit verringert werden. In diesem Artikel wird die Verwendung von Type Hinting in PHP7 ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt.
1. Das Konzept des Type Hinting:
Type Hinting ist eine Möglichkeit, Funktionsparametertypen zu deklarieren. Indem Sie einem Funktionsparameter einen angegebenen Typ voranstellen, können Sie sicherstellen, dass der an die Funktion übergebene Wert vom erwarteten Typ ist. Wenn die übergebenen Typen nicht übereinstimmen, wird ein schwerwiegender Fehler generiert.
2. Verwendung von Typhinweisen:
In PHP7 können wir die folgenden Methoden verwenden, um Typhinweise durchzuführen:
<array>, <callable>, <bool>, <float>, <int>, <string>
). Hier ist ein Beispiel: <array>、<callable>、<bool>、<float>、<int>、<string>
)。下面是一个例子:function addNumbers(int $a, int $b): int { return $a + $b; } echo addNumbers(5, 10); // 输出15 echo addNumbers("5", 10); // 报错,因为"5"不是一个整数
在上面的例子中,函数addNumbers
的参数$a
和$b
被指定为整数。如果传入的值不是整数类型,则会产生一个致命错误。
class User { // ... } class UserService { public function register(User $user) { // ... } } $user = new User(); $service = new UserService(); $service->register($user); // 正确 $service->register("abc"); // 报错,因为"abc"不是 User 类的实例
在上面的例子中,函数register
的参数$user
被指定为User
类的实例。如果传入的值不是User
类的实例,则会产生一个致命错误。
null
值,可以使用?
将参数类型标记为可为空类型。下面是一个例子:function searchUser(?string $keyword): array { // ... } var_dump(searchUser("John")); // array(1) { [0]=> string(4) "John" } var_dump(searchUser(null)); // array(0) { }
在上面的例子中,函数searchUser
的参数$keyword
被指定为字符串类型,但可以接受null
值。如果传入的值不是字符串类型或null
Im obigen Beispiel werden die Parameter $a
und $b
der Funktion addNumbers
als Ganzzahlen angegeben . Wenn der übergebene Wert nicht vom Typ Ganzzahl ist, wird ein schwerwiegender Fehler generiert.
$user
der Funktion register
als Instanz des User
angegeben > Klasse. Wenn der übergebene Wert keine Instanz der Klasse User
ist, wird ein schwerwiegender Fehler generiert. null
akzeptiert. Wir können ?
verwenden, um den Parametertyp als verfügbar zu markieren ein leerer Typ. Hier ist ein Beispiel: $keyword
der Funktion searchUser
als String-Typ angegeben, kann aber null akzeptieren Wert. Wenn der übergebene Wert nicht vom Typ string oder <code>null
ist, wird ein schwerwiegender Fehler generiert.
3. Vorteile von Type Hinting:
Das obige ist der detaillierte Inhalt vonTyphinweisfunktion in PHP7: Wie können die Parametertypen von Funktionen klargestellt werden, um Fehler und Unsicherheiten zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!