【发布时间】:2012-03-09 15:08:26
【问题描述】:
call_user_func_array()'s PHP manual's examples 只会让我对那些foo 和bar 变量更加困惑!
无论如何,请考虑下面的_remap 和ComplexFunction:
class MyClass extends CI_Controller
{
public function _remap($method, $params = array())
{
if (method_exists($this, $method))
{
return call_user_func_array(array($this, $method), $params);
}
}
public function ComplexFunction($param1, $param2, $param3, $param4)
{
// process
return 'done';
}
}
现在这段代码能正常工作吗?
$params = array(
'param1' => '1',
'param2' => '2',
'param3' => '3',
'param4' => '4'
);
$myObject = new MyClass();
$output = call_user_func_array(array($myObject, 'ComplexFunction'), $params);
echo $output;
-
$output是done吗? - 这是在 codeigniter 的
_remap()函数中使用的可靠方法吗?
【问题讨论】:
-
你试过了吗?你为什么要这样实例化控制器?
-
其实我一直在寻找一个通用的方法。这不是我使用控制器的方式。我的控制器中还有许多其他方法。我应该使用
_remap函数,因为search()方法应该有许多以用户定义的顺序传递的可选参数。
标签: php codeigniter url-rewriting codeigniter-url remap