Rumah > Artikel > pembangunan bahagian belakang > Apakah fungsi kaedah sihir panggilan php
php "__call()" kaedah ajaib akan dipanggil apabila memanggil kaedah yang tidak wujud atau tidak boleh diakses Fungsinya adalah untuk membenarkan atur cara untuk terus melaksanakan dan mengelak apabila kaedah yang dipanggil tidak wujud atau ada tidak boleh diakses. Ralat berlaku yang menyebabkan program ditamatkan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Dalam pengaturcaraan berorientasikan objek, PHP menyediakan Satu siri kaedah sihir, kaedah sihir ini memberikan banyak kemudahan untuk pengaturcaraan, dan peranannya dalam PHP adalah sangat penting. Kaedah ajaib dalam PHP biasanya bermula dengan __ (dua garis bawah) dan tidak memerlukan panggilan eksplisit tetapi dipanggil secara automatik dalam keadaan tertentu.
Antaranya, kaedah __call() atau __callStatic() direka untuk mencapai lebihan muatan. Biar saya memperkenalkan kaedah __call kepada anda.
php __call magic method
Kaedah __call() dipanggil apabila kaedah yang tidak boleh diakses atau tidak wujud dalam kelas dipanggil. Format sintaks kaedah ini adalah seperti berikut:
public function __call($name, $arguments){ ... ... ; }
di mana $name ialah nama kaedah yang akan dipanggil dan $arguments ialah tatasusunan parameter yang dihantar kepada $name.
Apabila kaedah yang dipanggil tidak wujud, kaedah __call() akan dipanggil secara automatik, dan atur cara akan terus dilaksanakan, sekali gus mengelakkan penamatan atur cara yang disebabkan oleh ralat apabila kaedah panggilan tidak wujud.
【Contoh】Yang berikut menggunakan contoh mudah untuk menunjukkan penggunaan kaedah __call().
<?php header("Content-type:text/html;charset=utf-8"); class Website{ public function say(){ echo 'Welcome PHP中文网!<br>'; } public function __call($name, $arguments){ echo '你所调用的方法:'.$name; if(!empty($arguments)){ echo '【以及参数:'; print_r($arguments); echo '】'; } echo ' 不存在!<br>'; } } $obj = new Website(); $obj -> say(); $obj -> url('https://www.php.cn/'); $obj -> title(); ?>
Keputusan berjalan adalah seperti berikut:
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah fungsi kaedah sihir panggilan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!