PHP 重载方法 __call()

巴扎黑
Freigeben: 2016-11-11 17:53:07
Original
1402 Leute haben es durchsucht


PHP 重载方法 __call()

__call() 方法用于监视错误的方法调用。

__call()(Method overloading)

为了避免当调用的方法不存在时产生错误,可以使用 __call() 方法来避免。该方法在调用的方法不存在时会自动调用,程序仍会继续执行下去。

语法:

function __call(string $function_name, array $arguments)

{

    ......

}

该方法有两个参数,第一个参数 $function_name 会自动接收不存在的方法名,第二个 $args 则以数组的方式接收不存在方法的多个参数。

在类里面加入:

function __call($function_name, $args)

{

    echo "你所调用的函数:$function_name(参数:
";

    var_dump($args);

    echo ")不存在!";

}

当调用一个不存在的方法时(如 test() 方法):

$p1=new Person();

$p1->test(2,"test");

输出的结果如下:

你所调用的函数:test(参数:

array(2) {

    [0]=>int(2)

    [1]=>string(4) "test"

}

)不存在!




Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!