在PHP中捕获未定义的类方法

时间:2015-12-23 03:26:21

标签: php

我们说我有一个课程HTMLElement我希望能够致电:

$element->href("http://www.google.com")

并动态捕获未定义的方法。例如:

class HTMLElement{

    public function __catch($method, $args){
        $this->attribute[$method] = $args[0];
    }

}

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:2)

非常确定您要找的是__call方法

http://php.net/manual/en/language.oop5.overloading.php#object.call

来自网站:

public mixed __call ( string $name , array $arguments )

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

__ call()。

在您的示例中,$name将为“href”,而$arguments将是您传递的任何内容的数组["http://www.google.com"]