魔术方法__call(string $name, array $arguments)

背景:在调用对象中不存在或不可访问(私有受保护)的方法时,程序抛出致命的错误终止程序的进行。php

为了处理这种错误的同时让程序继续执行,咱们能够在类中添加一个魔术方法__call,来调用对象中不存在的方法时自动调用该方法,而且使程序能够继续向下执行。函数


<?php
    class Person{         
        function say(){  
            echo "Hello, wblog!<br>"对象

 }          
        function __call($funName, $args) { //声明此方法用来处理调用对象中不存在的方法                   blog

            echo      "你所调用的函数:".$funName."不存在!<br>\n";                       io

            }function

      }class

$Person=new Person();            
$Person->run("teacher"); //调用对象中不存在的方法,则自动调用了对象中的__call()方法
$Person->say();程序

?>方法

运行结果: im

你所调用的函数run不存在!

Hello, wblog!

总结:

在类中添加一个魔术方法__call,在调用对象中不存在的方法时就会自动调用该方法,而且程序能够继续向下执行。

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息