我是CI的新手,需要专家的一些新手帮助。
这是我当前的设置:
/ Controller /
/ views /
我尝试作为结果生成的URI:
http://localhost
http://localhost/report(将加载index.php)
http://localhost/report/generate(将在报表 Controller 中调用生成方法)
http://localhost/recent/10(将通过变量“10”调用家庭 Controller 中的生成方法)
$route['default_controller'] = "home";
$route['404_override'] = '';
$route['/'] = 'home/index';
$route['recent/(:num)'] = 'home/recent/$1';
$route['report/(:any)'] = 'report/$1';
如何避免始终为类中创建的每个新方法修改路由文件?这样就可以了:
$ route [$ controller / $ method / $ variable](非常用于设置.net mvc路由)。
任何帮助表示赞赏。
最佳答案
您不需要进一步修改。实际上,即使这一行也是多余的:
$route['report/(:any)'] = 'report/$1';
这也是多余的:
$route['/'] = 'home/index';
由于默认 Controller 设置为'home'且默认方法为始终为
index
。查看CI如何与URL一起工作:https://www.codeigniter.com/user_guide/general/urls.html
因此,
/localhost/report/generate
将寻找Report
Controller ,并加载其generate
方法。这就是开箱即用的方式,无需路由。这条路线很好:
$route['recent/(:num)'] = 'home/recent/$1';
如果使用URL
/localhost/recent/123
并加载Home
,controller,recent
方法,并将123
作为第一个方法参数。关于php - Codeigniter如何为 Controller 类和方法设置路由?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28288239/