Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Kaedah Kelas Statik Abstrak Tidak Dibenarkan dalam PHP 5.2?

Mengapa Kaedah Kelas Statik Abstrak Tidak Dibenarkan dalam PHP 5.2?

DDD
DDDasal
2024-11-16 07:54:03931semak imbas

Why Are Abstract Static Class Methods Not Allowed in PHP 5.2 ?

Dalam PHP 5.2 , Mengapa Kaedah Kelas Statik Abstrak Tidak Dibenarkan?

Pada asalnya dikodkan tanpa amaran yang ketat, projek kini mencetuskan banyak amaran selepas mendayakannya. Antaranya ialah amaran tentang fungsi statik abstrak dalam Program kelas induk abstrak. Menurut dokumentasi, fungsi statik abstrak secara tidak sengaja dibenarkan dalam PHP 5.0.x dan 5.1.x dan tidak lagi dibenarkan.

Mengapa Fungsi Statik Abstrak Perlu Tidak Wujud?

PHP 5.2 kekurangan statik lewat bindings, yang tersedia dalam PHP 5.3. Ciri ini membolehkan kaedah kelas induk memanggil kaedah statik kelas anak mereka. Tanpa itu, kaedah statik abstrak dalam PHP 5.2 tidak berkesan kerana kelas induk tidak dapat memanggil kaedah statik kelas kanak-kanak.

Saga Berterusan

Setelah pengenalan pengikatan statik lewat, kaedah statik abstrak kembali relevan . Walaupun begitu, amaran itu berterusan. Walaupun boleh dipertikaikan bahawa kaedah statik abstrak mungkin membawa kepada mendedahkan kaedah awam yang rosak dalam kelas abstrak, hujah ini dianggap lemah.

Kes Ingin Tahu Laporan Pepijat 53081

Laporan pepijat PHP 53081 diminta penghapusan amaran itu. Pada mulanya ditolak sebagai palsu, laporan itu kemudian ditutup sebagai palsu kerana salah faham oleh Rasmus Lerdorf, pencipta PHP.

A Resolution dalam PHP 7

Amaran akan dialih keluar dalam PHP 7 terima kasih kepada PHP RFC Nikita Popov: Klasifikasikan semula notis E_STRICT. Langkah ke arah kewarasan ini akan membolehkan pembangun menggunakan kaedah statik abstrak tanpa menghadapi amaran salah yang ditemui dalam PHP 5.2 .

Atas ialah kandungan terperinci Mengapa Kaedah Kelas Statik Abstrak Tidak Dibenarkan dalam PHP 5.2?. 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