从路由调用Controller中的函数

时间:2015-05-20 02:52:10

标签: php codeigniter url-routing

我一直在寻找答案,但还没找到真正的解决方案。我最近学到了一些Laravel,它有这种类型的路由:

Route::get('home', 'functionname@controllername');

截至目前,我已离开Laravel并且正在摆弄CodeIgniter。

我在这里的路由是:

$route['home'] = "controllername";

调用索引函数。我怎么能提到我需要调用的函数,就像在Laravel中一样?

3 个答案:

答案 0 :(得分:1)

我认为这就是你想要的

$route['home'] = "controllername/functionname"

您可以在codeigniter 2 docs

找到很多示例

Codeigniter-3还支持回调功能。您可以查看详细信息here

答案 1 :(得分:1)

是的,您可以使用路由调用控制器的任何功能,例如

$route['home'] = "YourController/Yourfunction"

当您点击http://example.com/home时,它会将您重定向到" Yourfunction"

答案 2 :(得分:1)

如果你想要函数的传递参数

$route['home/(any:)'] = "yourcontroller/yourfunction"
$route['home/(any:)/num:'] = "yourController/yourfunction/$1/$2"

(any :) - 对于string,num:对于数字参数,你也可以使用regexp

您可以按$ 1 $ 2等重新订购参数:

 $route['home/(any:)/num:'] = "yourcontroller/yourfunction/$2/$1"
链接会看起来像这样:

home/blog/3

和函数将被调用:yourfunction(3,'blog');