Home  >  Q&A  >  body text

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

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

PHP中文网PHP中文网2750 days ago513

reply all(2)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 14:38:50

    给个思路

    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);
        }
    }
    

    reply
    0
  • 黄舟

    黄舟2017-04-10 14:38:50

    不就是变长参数列表嘛。

    reply
    0
  • Cancelreply