Rumah > Artikel > pembangunan bahagian belakang > Mengapa Memanggil Kaedah Bukan Statik Secara Statik dalam PHP Menghasilkan Ralat?
Memahami Ralat Kaedah Statik Panggilan Kaedah Statik
Dalam PHP, coretan kod yang disediakan menemui mesej ralat:
Strict standards: Non-static method Page::getInstanceByName() should not be called statically in /var/www/webworks/index.php on line 12
Ralat ini berlaku apabila kaedah bukan statik dalam kelas Halaman dipanggil secara statik, yang bukan dibenarkan.
Betulkan
Untuk menyelesaikan isu ini, kaedah getInstanceByName() dalam kelas Halaman perlu diisytiharkan sebagai statik. Ubah suai baris:
function getInstanceByName($name='')
kepada:
public static function getInstanceByName($name='')
Dengan mengisytiharkan kaedah sebagai statik, anda boleh memanggilnya menggunakan nama kelas, seperti:
$r = Page::getInstanceByName($page);
Pertimbangan Tambahan
Atas ialah kandungan terperinci Mengapa Memanggil Kaedah Bukan Statik Secara Statik dalam PHP Menghasilkan Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!