Rumah > pembangunan bahagian belakang > tutorial php > Mengapa PHP Melemparkan 'Strict Standards: Declaration of childClass::customMethod() Harus Serasi dengan parentClass::customMethod()'?

Mengapa PHP Melemparkan 'Strict Standards: Declaration of childClass::customMethod() Harus Serasi dengan parentClass::customMethod()'?

Linda Hamilton
Lepaskan: 2024-12-09 21:40:15
asal
390 orang telah melayarinya

Why Does PHP Throw

Keserasian dalam Pengisytiharan Kaedah PHP

Dalam PHP, ralat "Strict Standards: Declaration of childClass::customMethod() hendaklah serasi dengan that of parentClass::customMethod()" menunjukkan percanggahan antara pengisytiharan a kaedah dalam kelas kanak-kanak dan kaedah induknya.

Punca Kemungkinan:

Ralat berlaku apabila kaedah anak mempunyai sama ada:

  • Argumen berbeza: Nombor, susunan atau jenis data argumen kaedah harus sepadan dengan argumen induk kaedah.
  • Tahap akses yang berbeza: Tahap akses (awam, persendirian atau dilindungi) kaedah anak mestilah sama atau kurang ketat daripada kaedah induk.

Mencari Maklumat Keserasian:

PHP menggunakan peraturan berikut untuk mentakrifkan keserasian kaedah:

  • Argumen: Pengisytiharan hujah mesti sepadan dengan kedua-dua nombor dan jenis.
  • Tahap akses: Akses kaedah anak boleh lebih ketat (mis., awam kepada peribadi) tetapi tidak kurang menyekat (mis., peribadi kepada awam).
  • Jenis pemulangan: Jenis pemulangan kaedah anak boleh menjadi kovarian, bermakna ia boleh mengembalikan subkelas jenis pemulangan induk.

Dokumentasi tambahan dan contoh mengenai keserasian kaedah boleh didapati dalam halaman Manual PHP berikut:

  • [Melebihi muatan dan Warisan](https://www.php.net/manual/en/language.oop5.overloading.php)
  • [Keterlihatan Kaedah](https://www.php.net/manual/en/ language.oop5.visibility.php)
  • [Kovarian dan Contravariance](https://www.php.net/manual/en/language.oop5.variance.php)

Atas ialah kandungan terperinci Mengapa PHP Melemparkan 'Strict Standards: Declaration of childClass::customMethod() Harus Serasi dengan parentClass::customMethod()'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan