Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah fungsi kaedah sihir panggilan php

Apakah fungsi kaedah sihir panggilan php

青灯夜游
青灯夜游asal
2021-09-03 11:44:372132semak imbas

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.

Apakah fungsi kaedah sihir panggilan php

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 &#39;Welcome PHP中文网!<br>&#39;;
    }
    public function __call($name, $arguments){
        echo &#39;你所调用的方法:&#39;.$name;
        if(!empty($arguments)){
            echo &#39;【以及参数:&#39;;
            print_r($arguments);
            echo &#39;】&#39;;
        }
        echo &#39; 不存在!<br>&#39;;
    }
}
$obj = new Website();
$obj -> say();
$obj -> url(&#39;https://www.php.cn/&#39;);
$obj -> title();
?>

Keputusan berjalan adalah seperti berikut:

Apakah fungsi kaedah sihir panggilan php

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!

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