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

Bagaimana untuk membuat kesimpulan jenis nilai pulangan fungsi PHP?

WBOY
Lepaskan: 2024-04-10 21:24:01
asal
1056 orang telah melayarinya

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 {
  // 函数体
}
Salin selepas log masuk

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;
}
Salin selepas log masuk

实战案例

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

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

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

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

注意事项

  • 如果实际返回类型与声明的返回类型不匹配,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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan