Heim >Backend-Entwicklung >PHP-Tutorial >如何自动生成一个参数可变的函数调用

如何自动生成一个参数可变的函数调用

WBOY
WBOYOriginal
2016-06-06 20:47:581160Durchsuche

代码思路如下:
public function __call($method, $args) {
return $this->redis->$method($args[0][,$args[1]][,$args[2]]...]);
}
请问如何实现 $this->redis->$method() 的参数列表根据 $args 变化而自动生成函数调用

回复内容:

代码思路如下:
public function __call($method, $args) {
return $this->redis->$method($args[0][,$args[1]][,$args[2]]...]);
}
请问如何实现 $this->redis->$method() 的参数列表根据 $args 变化而自动生成函数调用

给个思路

<code class="lang-php">class RedisClient {
    protected $_redis;

    public function __construct() {
        $this->_redis = new Redis();
    }

    public function __call($method, $args) {
        call_user_func_array(array($this->_redis, $method), $args);
    }
}
</code>

不就是变长参数列表嘛。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn