加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php魔法方法__call() 详细讲解

发布时间:2020-05-25 02:15:00 所属栏目:PHP 来源:互联网
导读:php _call() 方法用于监视错误的方法调用。为了避免当调用的方法不存在时产生错误,可以使用 __call() 方法来避免。该方法在调用的方法不存在时会自动调用,程序仍会继续执行下去。本文章向大家介绍php __call()魔法方法的作用及使用实例,需要的朋友可以参考

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

1、 __call() 方法的格式:

function __call(string $function_name,array $arguments)

{

// 方法体

}

2、 __call() 方法的作用:

为了避免当调用的方法不存在时产生错误,而意外的导致程序中止,可以使用 __call() 方法来避免。

该方法在调用的方法不存在时会自动调用,程序仍会继续执行下去。

3、 __call()魔法方法实例:

class Person

{

function say()

{

echo "Hello,world!
";

}

/**

* 声明此方法用来处理调用对象中不存在的方法

*/

function __call($funName,$arguments)

{

echo "你所调用的函数:" . $funName . "(参数:" ; // 输出调用不存在的方法名

print_r($arguments); // 输出调用不存在的方法时的参数列表

echo ")不存在!
n"; // 结束换行

}

}

$Person = new Person();

$Person->run("www.manongjc.com"); // 调用对象中不存在的方法,则自动调用了对象中的__call()方法

$Person->eat("小明","苹果");

$Person->say();

运行结果:

你所调用的函数:run(参数:Array ( [0] => www.manongjc.com ) )不存在!

你所调用的函数:eat(参数:Array ( [0] => 小明 [1] => 苹果 ) )不存在!

Hello,world!

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读