我正在编写自己的框架(用于学习),我正处于将参数传递给方法的阶段。目前我正在通过实现这一目标
$params = array_slice($url, 1);
$class->{$method[1]}($params);
那么在类的方法中,我有CCD_ 1这是可行的,但并不理想,我注意到在Codeigniter中你可以调用
http://domain.com/controller/method/p1/p2/p3
。。。
然后在这个方法中,你可以通过获得这些
method($p1, $p2, $p3){}
这是我更喜欢的。我该如何设置?
ps:我的类都扩展了一个基类
在引擎盖下面,我打赌CI使用call_user_func_array()
来做到这一点:
call_user_func_array( array( $class, $method[1]), $params);
现在,根据数组中参数的数量,您可以使用如您所暗示的方法:
method($p1, $p2, $p3){}
假设CCD_ 5阵列中有3个参数。
试试这个:
call_user_func_array( array( $class, $method ), $params );
您是否尝试传递一个包含所有参数的数组,而不是尝试逐个传递所有参数?