千家信息网

php中call魔术方法有什么用

发表于:2024-10-19 作者:千家信息网编辑
千家信息网最后更新 2024年10月19日,这篇文章将为大家详细讲解有关php中call魔术方法有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php "__call()"魔术方法在调用不存在或不可访问
千家信息网最后更新 2024年10月19日php中call魔术方法有什么用

这篇文章将为大家详细讲解有关php中call魔术方法有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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() 方法的使用。

';    }    public function __call($name, $arguments){        echo '你所调用的方法:'.$name;        if(!empty($arguments)){            echo '【以及参数:';            print_r($arguments);            echo '】';        }        echo ' 不存在!
'; }}$obj = new Website();$obj -> say();$obj -> url('https://www.php.cn/');$obj -> title();?>

关于"php中call魔术方法有什么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0