【问题标题】:Routing in codeignitercodeigniter中的路由
【发布时间】:2013-02-07 09:19:05
【问题描述】:

我对 codeigniter 路由感到困惑。我正在通过在 codeigniter 中使用路由器在我的项目中实现 URL 屏蔽。

由此我对下面给出的 routing.routes 感到困惑。

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

我的问题是当我调用控制器shareToFacebook时,路由会做什么?

是调用控制器profile还是调用控制器shareToFacebook

【问题讨论】:

  • 第一个,按照出现的顺序读取(然后是路由停止)
  • 好的,答案正是我想要的。由于通常第二行覆盖第一行,我感到困惑。但是在这里发现路由匹配时会立即调用路由控制器并停止进一步检查路由。感谢您的支持。
  • -1 你可以试试,或者看看codeigniter文档

标签: php codeigniter routes


【解决方案1】:

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

CodeIgniter user guide: Routing

您将始终被发送到shareToFacebook,但只有在您传递一些参数时您才会被发送到这些路由中的任何一个,因此当您调用控制器时,它将打开它的 index 方法,如果您不通过任何论点。

【讨论】:

    【解决方案2】:

    当我调用控制器 shareToFacebook 时,路由会做什么?

    “shareToFacebook”方法将接受 1 个参数 ex。

    如果你打电话给前任。 localhost/yourproject/profile/shareToFacebook/1 public function shareToFacebbok($value)

    你可以用这个值做任何你想做的事。

    是调用控制器配置文件还是调用控制器 shareToFacebook?

    没有。

    profile 仍然会调用它的 index 方法

    【讨论】:

    • 错了,配置文件在任何情况下都不会加载,看我的回答
    猜你喜欢
    • 2012-09-29
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多