【发布时间】:2015-07-29 05:08:59
【问题描述】:
我对 codeigniter 中的路由概念了解不多,我想将许多参数传递给单个方法,如 http://www.codeigniter.com/userguide2/general/controllers.html 教程页面中所述。
在网址里我有这个
http://localhost/code_igniter/products/display/2/3/4
在我的 routes.php 中我写了
$route['products/display/(:any)'] = 'Products_controller/display';
我认为它会自动将所有参数(此处为 2/3/4)传递给方法“显示”,但我收到 404 page not found 错误。
一般来说,如果 URI 是 controller/method,我想实现类似的目标,我想路由到 someother_controller/its_method 并将参数(如果有)传递给该方法。我该怎么做?
【问题讨论】:
-
您使用的是什么版本的 codeigniter 也可以在这里找到 codeigniter 文档的新位置。 codeigniter.com/docs
-
codeigniter 3.0 我想将这些参数传递给显示方法,请您帮帮我!
-
您是否确定了控制器文件名 Products_controller.php 并在路由上尝试使用小写 $route['products/display/(:any)'] = 'products_controller/display/$1';
-
你最好看看codeigniter 3 uri routing codeigniter.com/user_guide/general/routing.html
-
感谢 wolfgang1983,正如你所说,我已将文件命名为“Products_controller”并在 routes.php 中使用小写字母,Suvash 的回答也很好!但是如果我错过了任何一个参数,我会再次得到 404 not found。如何编写可以传递所有参数的路由规则,即使我错过了其中一个参数?在这种情况下,我想将默认值(例如 0)传递给该参数。我该怎么做?
标签: php codeigniter