test(1, "2", 3.4, true)”。"/> test(1, "2", 3.4, true)”。">

Rumah >pembangunan bahagian belakang >masalah PHP >php __call方法如何使用

php __call方法如何使用

藏色散人
藏色散人asal
2020-08-28 09:57:482533semak imbas

php __call方法是调用未定义的方法时调用的,使用语法如“$foo->__call('test', array(1, "2", 3.4, true))”,也就是相当于“$foo->test(1, "2", 3.4, true)”。

php __call方法如何使用

推荐:《PHP视频教程

php魔术方法__call的用法

__call是调用未定义的方法时调用的。

也就是说,你的test方法未定义,那么test这个方法名就会作为__call的第一个参数传入,而test的参数会被装进数组中作为__call的第二个参数传入。

所以当你调用$foo->test(1, "2", 3.4, true)时,实际是相当于调用$foo->__call('test', array(1, "2", 3.4, true))。

__call方法在调用类的方法时触发,比如:

<?php
class google{
    public function search(){
        //TODO
    }
    public function __call($method, $parameters){
        //这里的method便是对应的方法,即"->"后面的字符串,$parameters是通过这个方法传过来的参数
    }
}
 
$google = new google();
$keyword = &#39;VR&#39;;
$google->search($keyword);
//当调用当前对象不存在的方法时,会转向__call
$google->operate();

利用__call可以做些封装,从而调用其它对象和方法。

Atas ialah kandungan terperinci php __call方法如何使用. 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
Artikel sebelumnya:php webservice 乱码怎么办Artikel seterusnya:php fpm 进程数如何设置