我尝试使用 - 连字符创建一些控制器,模型和视图,但我总是得到php错误,所以我现在使用下划线。
所以我的网址是: http://localhost:8888/ci/index.php/get_artist_discography/artist_name
我想是这样的: http://localhost:8888/ci/index.php/get-artist-discography/artist-name
它可能有url - 在codeigniter中连字符?
我的代码:
/控制器:
u1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String un1 = "https://drive.google.com/open?id=0B_i97Zc2yxeSNFJMVXFGQmlXYzQ&authuser=0";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(un1));
startActivity(i);
}
});
/型号:
<?php
include (APPPATH.'/libraries/REST_Controller.php');
class get_artist_discography extends REST_Controller {
function artist_name_get(){
$data = new stdClass();
$this->load->model('artist_model');
$data = $this->artist_model->getAll();$this->response($data, 200);
}
}
答案 0 :(得分:14)
如果你正在使用Codeigniter 3打开你的config / routes.php
$route['translate_uri_dashes'] = TRUE;
答案 1 :(得分:11)
是的,你可以。
通常CI会生成类似于base_url / Controller_name / Method_name的url。
如您所知,控制器名称和方法名称不能包含“ - ”(连字符),因此您无法更改其名称。
您可以使用路由器显示具有相应网址的正确控制器。
就像你可以在config / routes.php上编写这段代码
$route['get-artist-discography/artist-name'] ='get_artist_discography/artist_name';
如果您的链接为get_artist_discography
artist_name
控制器和http://localhost:8888/ci/index.php/get-artist-discography/artist-name
方法
您可以详细了解URI Routing at CI docs