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 ")不存在! } } $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! (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
