美文网首页代码知识
PHP 重载方法 __call()

PHP 重载方法 __call()

作者: 雪碧spirit | 来源:发表于2017-02-14 14:05 被阅读2次

__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" } )不存在!

相关文章

  • PHP 重载方法 __call()

    __call() 方法用于监视错误的方法调用。 __call()(Method overloading) 为了避免...

  • PHP编程开发技巧:PHP中重载如何实现

    PHP编程开发技巧:PHP中重载如何实现,重载分为属性重载和方法重载,在PHP中的重载和在其它编程语言的重载不一样...

  • PHP重载

    PHP中的重载指的是动态的创建属性与方法,是通过魔术方法来实现的。 属性的重载通过__set,__get,__is...

  • PHP 魔术方法__call和__callStatic

    PHP 5.3 后新增了 __call 与__callStatic 魔法方法。 用途: __call:当要调用的方...

  • PHP中的魔术方法总结

    PHP中的魔术方法总结 :__construct, __destruct , __call, __callStat...

  • php 属性重载与方法重载

    本文实例讲述了PHP面向对象程序设计重载(overloading)操作。分享给大家供大家参考,具体如下: 重载 P...

  • PHP"重载"

    1、什么是重载 1)PHP所提供的"重载"(overloading)是指动态地"创建"类属性和方法,我们是通过魔术...

  • java之「方法重载」

    方法重载 相对于我日常经常使用的php来说,java有个很不同的地方,这里可以说下。就是方法重载。白话就是,在一个...

  • 7.11 重载

    PHP中的重载是指 动态的创建属性或方法,传统的重载是指定义多个参数不同的同名方法。 当实例调用对象中不存在的属性...

  • 2019-08-02

    __call()的作用是当程序调用一个不存在或不可见 的成员方法时,php 会先调用__call()方法,将那个不...

网友评论

    本文标题:PHP 重载方法 __call()

    本文链接:https://www.haomeiwen.com/subject/gdvxwttx.html