首页 >后端开发 >PHP问题 > 正文

php call魔术方法的作用是什么

原创2021-09-03 11:44:3701006

php “__call()”魔术方法在调用不存在或不可访问的方法时会被调用,其作用为:让程序继续执行下去,避免当调用的方法不存在或不可访问时,产生错误导致程序终止。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

在面向对象编程中,PHP 提供了一系列的魔术方法,这些魔术方法为编程提供了很多便利,在 PHP 中的作用是非常重要的。PHP 中的魔术方法通常以__(两个下划线)开始,并且不需要显式的调用而是在某种特定条件下自动调用的。

其中,__call()或__callStatic()方法就是为了实现重载而设计的,下面给大家介绍一下__call方法。

php __call魔术方法

当调用类中一个不可访问或不存在的方法时,__call() 方法会被调用。该方法的语法格式如下:

public function __call($name, $arguments){
    ... ... ;
}

其中,$name 为要调用的方法名称,$arguments 为传递给 $name 的参数所组成的数组。

当调用的方法不存在时会自动调用 __call() 方法,程序会继续执行下去,从而可以避免当调用方法不存在时产生错误所导致的程序终止。

【示例】下面使用简单的示例来演示一下 __call() 方法的使用。

<?php
header("Content-type:text/html;charset=utf-8");
class Website{
    public function say(){
        echo 'Welcome PHP中文网!<br>';
    }
    public function __call($name, $arguments){
        echo '你所调用的方法:'.$name;
        if(!empty($arguments)){
            echo '【以及参数:';
            print_r($arguments);
            echo '】';
        }
        echo ' 不存在!<br>';
    }
}
$obj = new Website();
$obj -> say();
$obj -> url('https://www.php.cn/');
$obj -> title();
?>

运行结果如下:

1.png

推荐学习:《PHP视频教程

以上就是php call魔术方法的作用是什么的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:php __call() 魔术方法
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • 细说PHP(2021版)第一季细说PHP(2021版)第一季
  • 细说PHP(2021版)第二季细说PHP(2021版)第二季
  • 细说PHP(2021版)第三季细说PHP(2021版)第三季
  • 细说PHP(2021版)第四季细说PHP(2021版)第四季
  • 从0开始进入PHP的世界从0开始进入PHP的世界
  • 视频教程分类