【发布时间】:2014-11-23 18:36:54
【问题描述】:
在某些 MVC 平台中,控制器方法接受 URL 的内容作为正斜杠分隔的元素列表,作为参数接收,例如
site.com/controller/method/var1/var2
有关联的控制器:
class Controller
function method(var1, var2){
}
}
但是我怎样才能实现这种编码呢?我希望从一个数组开始并将参数化列表发送到一个函数,即
$args = array("one"=>"cheese","two"=>"eggs");
php_function("myfunction",$args);
在myfunction 内,我会拥有
function myfunction($one, $two){
}
我知道func_get_args 接受未知数量的参数。 user_call_func 很有用,除了
user_call_func("myfunction",$args);
...导致第一个参数包含参数数组,与从函数内调用的func_get_args 没有区别。
extract 也不起作用,因为我需要将数组作为函数内部的变量接收。
【问题讨论】:
-
你是问网址怎么排,还是怎么读?对于前者,我希望
site.com/controller/myfunction/cheese,eggs会这样做。如果您打算编写自己的路由系统,我建议您不要打扰 - 目前有很多,并且重新发明轮子没有任何价值。 Slim 框架非常好,我希望 Zend 和 Symfony 有自己的模块,您可以单独使用。
标签: php arrays parameter-passing