| 
 | 
 
 
 楼主 |
发表于 2016-5-5 18:39:48
|
显示全部楼层
 
 
 
路由 
控制器现在开始工作了!在你的浏览器中输入 [your-site-url]index.php/pages/view 来查看你的页面。当你访问 index.php/pages/view/about 时你将看到 about 页面, 包括页头和页脚。 
 
使用自定义的路由规则,你可以将任意的 URI 映射到任意的控制器和方法上,从而打破 默认的规则: 
 
http://example.com/[controller-class]/[controller-method]/[arguments] 
 
让我们来试试。打开文件 application/config/routes.php 然后添加如下两行代码, 并删除掉其他对 $route 数组赋值的代码。 
 
$route['default_controller'] = 'pages/view'; 
$route['(:any)'] = 'pages/view/$1'; 
CodeIgniter 从上到下读取路由规则并将请求映射到第一个匹配的规则,每一个规则都是 一个正则表达式(左侧)映射到 一个控制器和方法(右侧)。当有请求到来时,CodeIgniter 首先查找能匹配的第一条规则,然后调用相应的控制器和方法,可能还带有参数。 
 
你可以在关于 URI 路由的文档 中找到更多信息。 
 
这里,第二条规则中 $routes 数组使用了通配符 (:any) 可以匹配所有的请求, 然后将参数传递给 Pages 类的 view() 方法。 
 
现在访问 index.php/about 。路由规则是不是正确的将你带到了控制器中的 view() 方法?实在是太棒了! 
 
 
 
大家看路由这一段的时候有没有注意到这样一个地址$route['(:any)'] = 'pages/view/$1'; 
这个$1代表什么鬼呢? |   
 
 
 
 |