李涛自留地
回到顶部
首页 > php学习 > PHP魔术方法__call()如何使用?PHP魔术方法__call使用实例

PHP魔术方法__call()如何使用?PHP魔术方法__call使用实例

文章目录

前面先后学习和记载了PHP魔术方法中的构造方法和析构方法以及__set()、__get(),而__set()、__get()方法主要是针对类中的属性进行操作,那么有没有对类中方法进行操作的魔术方法呢?__call方法就是可以对类中的方法进行这样操作的方法。

__call方法的作用

在对象中调用一个不可访问的方法时,__call()魔术方法就会被调用。

__call方法的使用

1、__call()方法的语法格式

public mixed__call(string $name,array $arguments)

2、__call()方法参数说明

(1)、$name:方法名;

(2)、$arguments:方法的参数,数据类型为数组类型;

__call方法的使用实例

<?php

class people{
    function nationality ($name,$language){
        echo $name.'你所说的语言是'.$language;
    }
    function __call($name, $arguments)
    {
        echo '你所调用的方法不存在时,将调用此__call魔术方法<br>';
        echo '调用的方法名为:'.$name.'<br>';
        echo '调用的方法参数为:<br>';
        foreach ($arguments as $k=>$v){
            echo $k.'=>'.$v.'<br>';
        }

    }
}
//实例化类
$people = new people;
//正常调用一个类的成员方法:
$people->nationality('lucy','english');
echo '<hr>';
//调用一个不存在的方法就会触发调用类中的__call魔术方法:
$people->what('aaa','bbb','ccc');

?>
PHP魔术方法__call()如何使用?PHP魔术方法__call使用实例李涛自留地原创文章,转载或复制请以超链接形式并注明出处。