2013-02-07 237 views
-1

我混淆codeigniter路由。我正在使用codeigniter中的路由器在我的项目中实现URL掩码。路由codeigniter

由此我得到了关于routing.routes在下面给出的混淆。

$route['project/shareToFacebook/(:any)']="project/shareToFacebook/$1"; 
$route['project/shareToFacebook/(:any)']="project/profile/$1"; 

我的问题是当我打电话给控制器shareToFacebook什么路线会做?

是否会调用控制器profile或调用控制器shareToFacebook

+1

第一个,它们按它们出现的顺序读取(然后路由停止) –

+0

好的,答案正是我想要的。由于通常是第二行覆盖的第一行,所以我感到困惑。但是,在路由匹配时立即发现它会调用路由控制器并停止进一步检查路由。感谢您的支持。 – shihabudheen

+0

-1只要你可以试试看,或者看看codeigniter doucmentation – amd

回答

1

注:路由将在它们被定义的顺序运行。较高的路线总是优先于较低的路线。

CodeIgniter user guide: Routing

你总是会被发送到shareToFacebook,但只有当你传递一些参数,所以当你将调用控制器就会打开它的指数方法,无论你将被发送到任何这些路线,如果你不会传递任何论据。

0

当我打电话给控制器shareToFacebook路由会做什么?

该方法'shareToFacebook'将接受1参数前。

如果你打电话给前。 localhost/yourproject/profile/shareToFacebook/1 < - 将通过方法shareToFacebook public function shareToFacebbok($value)

你可以做任何你想要的值。

是否会调用控制器配置文件或调用控制器shareToFacebook?

个人资料仍然调用它的索引方法

+2

错了,配置文件在任何情况下都不会被加载,看到我的答案 –