将参数从url传递到方法


Passing params to method from url

我正在编写自己的框架(用于学习),我正处于将参数传递给方法的阶段。目前我正在通过实现这一目标

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

您是否尝试传递一个包含所有参数的数组,而不是尝试逐个传递所有参数?