您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP中__call()方法详解

2025/11/17 23:26:47发布34次查看
前面给大家介绍了《__construct(),类的构造函数》《__destruct(),类的析构函数》,下面继续给大家介绍php中__call()方法。
__call(),在对象中调用一个不可访问方法时调用。
该方法有两个参数,第一个参数 $function_name 会自动接收不存在的方法名,第二个 $arguments 则以数组的方式接收不存在方法的多个参数。
1、 __call() 方法的格式:
function __call(string $function_name, array $arguments){ // 方法体}
2、 __call() 方法的作用:
为了避免当调用的方法不存在时产生错误,而意外的导致程序中止,可以使用 __call() 方法来避免。
该方法在调用的方法不存在时会自动调用,程序仍会继续执行下去。
请参考如下代码:
<?phpclass person{ function say() { echo "hello, world!<br>"; } /** * 声明此方法用来处理调用对象中不存在的方法 */ function __call($funname, $arguments) { echo "你所调用的函数:" . $funname . "(参数:" ; // 输出调用不存在的方法名 print_r($arguments); // 输出调用不存在的方法时的参数列表 echo ")不存在!<br>\n"; // 结束换行 } }$person = new person(); $person->run("teacher"); // 调用对象中不存在的方法,则自动调用了对象中的__call()方法$person->eat("小明", "苹果"); $person->say();
运行结果:
你所调用的函数:run(参数:array ( [0] => teacher ) )不存在!你所调用的函数:eat(参数:array ( [0] => 小明 [1] => 苹果 ) )不存在!hello, world!
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product