Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php magic-get方法的问题_Php - Fatal编程技术网

Php magic-get方法的问题

Php magic-get方法的问题,php,Php,我正在尝试用php编写自己的magic\uuuu get方法。 但是我得到了这个错误: __get()必须正好接受1个参数。 错误是指下面函数中的最后一行 有什么想法吗 public function __get() { $method = 'get'.ucfirst($name); if(!method_exists($this, $method)) throw new Exception('Invalid property'); var_dum

我正在尝试用php编写自己的magic\uuuu get方法。 但是我得到了这个错误: __get()必须正好接受1个参数。 错误是指下面函数中的最后一行

有什么想法吗

public function __get()
{
    $method = 'get'.ucfirst($name);
    if(!method_exists($this, $method))
            throw new Exception('Invalid property');
    var_dump($method);
    return $this->{$method}();

}

您必须指定一个参数,该参数引用您试图访问的变量名。

传入
$name

public function __get($name)

将第一行更改为

public function __get($name) {
这更好吗

public function __get($name)
{
    $method = 'get'.ucfirst($name);
    if(!method_exists($this, $method))
            throw new Exception('Invalid property');
    var_dump($method);
    return $this->{$method}();

}

我添加了name参数。

magic get函数只需要一个参数,如错误所述。请尝试以下代码:

public function __get( $name )

_uuuget($name)函数中缺少一个参数。 这将为您提供所需变量的值

public function __get($name) {
...
...
}