[英]Codeigniter Change URL method name
我是CI新手。
我想使用add_car
将地址add_car
网址中的函数名称更改为addcar
。
其实我的网址创建如下
http://localhost/projectName/controller/add_car
但是我想在URL中关注
http://localhost/projectName/controller/addcar
可能吗? 请帮我。
[Note]
:我的实际方法名称是add_car
。
您可以通过两种方法来完成
方法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
将add_car
函数更改为控制器中的addcar
function add_car(){
//...
}
至
function addcar(){
^
//...
}
或在routes.php
$route['controller/add_car'] = "controller/addcar";
$route['controller/([az]+)_([az]+)'] = "controller/$1$2";
上面的示例将在两个字符串之间将每个请求的包含“ _”的操作路由到不带“ _”的操作/方法。
有关Code Igniter正则表达式路由的更多信息:
https://ellislab.com/codeigniter/user-guide/general/routing.html
您可以在路线上使用它:
$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";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.