日期:2014-05-16  浏览次数:20625 次

php怎么实现动态传参数???
本帖最后由 ic2y__ 于 2014-04-17 17:21:01 编辑
先贴代码,代码精简了。

<?php 

class Cache{
public function get()
{
$invoker = debug_backtrace();
$invoker_class = $invoker[1]["class"];
$invoker_function = $invoker[1]["function"]."_redirect";

$argus = func_get_args();
        $invoker_class = str_replace("Action","", $invoker_class);

D($invoker_class)->$invoker_function($argus);
}
}
?>

描述:
程序是在ThinkPHP开发,目的是把Cache的get方法接收的参数转发到指定的方法上,
最后一行:其中D方法是ThinkPHP自带的方法用的是单例模式。如果不加参数$argus是可以正常调用的。

问题:
现在想传递参数,比如get("name","age"),完整的传递到 D($invoker_class)->$invoker_function(“name”,"age")上,有什么办法。

call_user_func 看起来像是可以,不过看不出来怎么用。

求解。
------解决方案--------------------
call_user_func_array(array(D($invoker_class), $invoker_function), $argus);