当前位置:Gxlcms > PHP教程 > php call方法怎么用

php call方法怎么用

时间:2021-07-01 10:21:17 帮助过:29人阅读

php call方法指的是“__call()”魔术方法,是在对象中调用一个不可访问方法时调用,call方法的格式是“function __call(string $function_name,array $arguments){方法体}”。

推荐:《PHP视频教程》

__call(),在对象中调用一个不可访问方法时调用。

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

1、 __call() 方法的格式:

  1. function __call(string $function_name, array $arguments){ // 方法体}

2、 __call() 方法的作用:

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

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

请参考如下代码:

  1. <?phpclass Person{
  2. function say() {
  3. echo "Hello, world!<br>";
  4. }
  5. /**
  6. * 声明此方法用来处理调用对象中不存在的方法
  7. */ function __call($funName, $arguments)
  8. {
  9. echo "你所调用的函数:" . $funName . "(参数:" ;
  10. // 输出调用不存在的方法名
  11. print_r($arguments);
  12. // 输出调用不存在的方法时的参数列表
  13. echo ")不存在!<br>\n";
  14. // 结束换行
  15. }
  16. }
  17. $Person = new Person();
  18. $Person->run("teacher"); // 调用对象中不存在的方法,则自动调用了对象中的__call()方法$Person->eat("小明", "苹果");
  19. $Person->say();

运行结果:

  1. 你所调用的函数:run(参数:Array ( [0] => teacher ) )不存在!
  2. 你所调用的函数:eat(参数:Array ( [0] => 小明 [1] => 苹果 ) )不存在!
  3. Hello, world!

以上就是php call方法怎么用的详细内容,更多请关注gxlcms其它相关文章!

人气教程排行