在Codeigniter CMS中删除功能名称URL

时间:2019-06-08 12:51:35

标签: php codeigniter

当数据传入控制器时,此时数据和函数名称将传入URL

localhost/project/course/Web-Development

上面的示例course是控制器的函数名称 但将其删除并传递此URL

localhost/project/Web-Development

2 个答案:

答案 0 :(得分:0)

使用remap函数可以解决此问题

控制器中的代码

public function _remap($method, $params = array())
{
    if ($method == 'autocomplete') {
        return call_user_func_array(array($this, $method), $params);
    } else {
        $methodcall = $this->M_tl_admin->Validate_Web($method);
        if ($methodcall == 'course') //***course is your function name***
            return call_user_func_array(array($this, $methodcall), array($method));
        }
}

模型中的代码

    public function Validate_Web($alias)
{
    $res = $this->db->get_where('category', array('ctg_url' => $alias))->result_array();//category is table name and ctg_url is data pass in URL(Web-Development)
    if(count($res)>0)
         return 'course';
}

答案 1 :(得分:0)

您可以使用路线功能隐藏功能名称。

https://www.codeigniter.com/user_guide/general/routing.html

$route['product/:any'] = 'project/product_look