繁体   English   中英

PHP _call()函数的示例

[英]Example for PHP _call() function

伙计们,我刚遇到__call()PHP函数。 我试图通过此手册中的http://php.net/manual/en/language.oop5.overloading.php#object.call了解使用的方法,但是这里所提到的只是

在对象上下文中调用不可访问的方法时,会触发__call()。

老实说,这还不是很清楚。 我尝试在网上寻找其他示例,但它们似乎都很复杂。 谁能用一个简单的例子解释__call()的作用和优点?

考虑一下:

class Foo
{
    public function __call($name, $args)
    {
        echo "you tried to call method $name with these args:";
        print_r($args);
    }
}

$foo = new Foo();
$foo->bar($args);

请注意,没有名为bar方法。 通常,调用它会产生错误。 但是,在这种情况下,您已经定义了__call()方法。 因此,PHP不会调用该方法,而不会产生错误,而是将您尝试调用的方法的名称以及尝试使用其调用的参数传递给它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM