【问题标题】:How to create routes for a controller function which needs argument in codeigniter如何为需要在 codeigniter 中使用参数的控制器函数创建路由
【发布时间】:2012-08-12 10:42:15
【问题描述】:

我想知道如何为需要传递参数的控制器函数创建路由。 就像我创建这样的函数:

function abc($arg)
 {
     return $arg;
 }

那我怎样才能为同一个函数指定一个路由呢?我的论点将包含字母和数字的混合

【问题讨论】:

    标签: php codeigniter routing


    【解决方案1】:

    将此添加到您的 APP_PATH/application/config/routes.php

    $route['controller_name/abc/([A-Za-z0-9])+'] = "controller_name/abc/$1";
    

    更多详情http://codeigniter.com/user_guide/general/routing.html

    【讨论】:

    • 我明白了。而不是 ([a-z]*\d*)+ 我使用 (:any) 并且它有效。谢谢
    【解决方案2】:

    使用uri class 并尝试读取传递给您的方法的段

    在下面的控制器方法中,您传递 url 段,例如
    控制器/函数/argument1/argument2/argument3/4/5/6/..

    // controller
    public function myfunction(){
     var_dump($this->url->segment(1)); // route/abc -> abc
     var_dump($this->url->segment(2)); // route/abc/123 -> 123
    }
    

    如果函数采用固定长度的参数,则类似于

    public function myfunction($arg1,$arg2){
     // ..
    }
    

    您可以使用路由映射来完成这项工作,

    $route["myfunction/(any)"= "remap" // ..
    

    【讨论】:

      猜你喜欢
      • 2010-12-25
      • 2011-02-01
      • 2011-07-05
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 2015-10-07
      • 2017-11-21
      • 1970-01-01
      相关资源
      最近更新 更多