Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membuat kesimpulan jenis nilai pulangan fungsi PHP?

Bagaimana untuk membuat kesimpulan jenis nilai pulangan fungsi PHP?

WBOY
WBOYasal
2024-04-10 21:24:011008semak imbas

PHP 8 memperkenalkan jenis inferens, membenarkan jenis pulangan ditentukan dalam pengisytiharan fungsi (seperti functionName(): type). Sebagai contoh, fungsi bernama sum mengembalikan jenis int dan boleh dipanggil dengan $name = $user->getName(). Perlu diingatkan bahawa jenis pulangan sebenar mesti konsisten dengan jenis pulangan yang diisytiharkan, jika tidak, pengecualian TypeError akan dinaikkan.

PHP 函数返回值的类型如何推断?

Taipkan inferens untuk nilai pulangan fungsi PHP

Dalam PHP 8, ciri inferens jenis diperkenalkan untuk membantu anda membuat kesimpulan tentang jenis nilai pulangan fungsi. Ini dilakukan dengan menentukan jenis pulangan yang dijangkakan dalam pengisytiharan fungsi. Sintaksnya adalah seperti berikut:

function functionName(): type {
  // 函数体
}

Sebagai contoh, kami mentakrifkan fungsi yang dipanggil sum yang menambah dua nombor dan mengembalikan nilai integer: sum 的函数,它将两个数字相加并返回一个整数值:

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

实战案例

假设我们有一个 User 类,它有一个 getName 方法,该方法返回一个字符串:

class User {
  public function getName(): string {
    return "John Doe";
  }
}

以下是如何使用类型推断调用 getName 方法:

$user = new User();
$name = $user->getName(); // $name 将被推断为字符串类型

注意事项

  • 如果实际返回类型与声明的返回类型不匹配,PHP 将引发一个 TypeError 异常。
  • 对于继承类,派生类的返回类型可以覆盖基类的返回类型。
  • 对于联合类型(例如 int|string),函数可以返回任何符合联合类型的类型。
  • 您仍然可以使用 @returnrrreee
Kes praktikal🎜🎜🎜Andaikan kita mempunyai A User yang mempunyai kaedah getName yang mengembalikan rentetan: 🎜rrreee🎜Begini cara untuk memanggil kaedah getName menggunakan jenis inferens :🎜rrreee🎜🎜Nota 🎜🎜
  • Jika jenis pulangan sebenar tidak sepadan dengan jenis pulangan yang diisytiharkan, PHP akan menimbulkan pengecualian TypeError. 🎜
  • Untuk kelas yang diwarisi, jenis pulangan kelas terbitan boleh mengatasi jenis pulangan kelas asas. 🎜
  • Untuk jenis kesatuan (seperti int|string), fungsi boleh mengembalikan sebarang jenis yang mematuhi jenis kesatuan. 🎜
  • Anda masih boleh menggunakan teg @return untuk menentukan jenis nilai pulangan fungsi, tetapi ia akan ditindih oleh ciri inferens jenis. 🎜🎜

Atas ialah kandungan terperinci Bagaimana untuk membuat kesimpulan jenis nilai pulangan fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn