how to create Codeigniter route that doesn't override the other controller routes?

后端 未结 2 581
情书的邮戳
情书的邮戳 2021-02-10 05:14

I\'ve got a lot controller in my Codeigniter apps, ex: Signup, Profile, Main, etc..

Now I want to build \"User\" controller.

what I want:

<
相关标签:
2条回答
  • 2021-02-10 05:52

    You're going to have to explicitly define all of those routes. Otherwise you will always end up at the "user_controller".

    $route['signup'] = "signup";
    $route['(:any)'] = "user/display/$1";
    

    or something similar. They are ran in order, so what ever is defined first, is going to happen first. So if you catch (:any), you're going to send ANYTHING to that controller.

    Also keep in mind that you can use regular expressions, so if you know there is always going to be a '.' in there, you could test for that.

    0 讨论(0)
  • 2021-02-10 05:52

    You can also use a foreach statement for this. That way you can keep your controllers in a nice neat list.

    $controller_list = array('auth','dashboard','login','50_other_controllers');
    
    foreach($controller_list as $controller_name)
    {
        $route[$controller_item] = $controller_name;
    }
    
    $route['(:any)'] = "user/display/$1";
    
    0 讨论(0)
提交回复
热议问题