Codeigniter更改URL方法名称

时间:2015-12-11 07:30:26

标签: php codeigniter

我是CI的新手。

我想将add_car的地址栏网址中的功能名称更改为addcar

实际上我的网址创建如下

http://localhost/projectName/controller/add_car

但我想在网址

中关注
http://localhost/projectName/controller/addcar

有可能吗?请帮帮我。

[Note]:我的实际方法名称为add_car

4 个答案:

答案 0 :(得分:3)

你可以通过两种方法来实现

方法01

修改 - config/routes.php

$route['controller/addcar'] = 'controller/add_car';
$route['controller/deletecar'] = 'controller/delete_car';

输出 - www.exapmle.com/controller/addcar

方法02

根据需要更改控制器功能名称。

public function addcar($value='')
{
    # code...
}
public function deletecar($value='')
{
    # code...
}

输出 - www.exapmle.com/controller/addcar

进一步的知识

如果您使用$route['addcar'] = 'controller/add_car';网址,则

www.exapmle.com/addcar

答案 1 :(得分:1)

add_car功能更改为控制器中的addcar

function add_car(){
  //...
}

function addcar(){
          ^
  //...
}

routes.php

$route['controller/add_car'] = "controller/addcar";

答案 2 :(得分:1)

$route['controller/([a-z]+)_([a-z]+)'] = "controller/$1$2";

以上示例将路由每个请求的包含' _'两个字符串之间的行动/方法没有' _'。

有关Code Igniter正则表达式路线的更多信息:
https://ellislab.com/codeigniter/user-guide/general/routing.html

答案 3 :(得分:0)

您可以在路线上使用此功能:

$route['addcar'] = 'Add_car/index';
$route['addcar/(:any)'] = 'Add_car/car_lookup/$1';

和您的控制器

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Add_car extends CI_Controller {

public function __construct()
{
    parent::__construct();
}

public function car_lookup($method = NULL)
{
    if (method_exists($this, $method))
    {
        $this->$method();
    }
    else
    {
        $this->index(); // call default index
    }
}

public function index()
{
    echo "index";
}


public function method_a()
{
    echo "aaaaa";
}

public function method_b()
{
    echo "bbbbb";
}
}