rad*_*ken 8 php url codeigniter
我尝试使用 - 连字符创建一些控制器,模型和视图,但我总是得到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连字符?
我的代码:
/控制器:
<?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);
}
}
Run Code Online (Sandbox Code Playgroud)
/楷模:
<?php
class artist_model extends CI_Model {
function getAll(){
$q = $this->db->query("SELECT artist_discography,artist_name from music");
if($q->num_rows() > 0) {
foreach ($q->result() as $row) {
$data [] = $row;
}
return $data;
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 15
如果你正在使用Codeigniter 3打开你的config/routes.php
$route['translate_uri_dashes'] = TRUE;
Run Code Online (Sandbox Code Playgroud)
Sha*_*lam 11
是的你可以.
通常,CI会生成类似于base_url/Controller_name/Method_name的url.
如您所知,控制器名称和方法名称不能包含" - "(连字符),因此您无法更改其名称.
你能做的是使用路由器显示正确的控制器与相应的URL.
就像你可以在config/routes.php上编写这段代码一样
$route['get-artist-discography/artist-name'] ='get_artist_discography/artist_name';
Run Code Online (Sandbox Code Playgroud)
如果您的链接是,这将执行您的get_artist_discography控制器和artist_name方法http://localhost:8888/ci/index.php/get-artist-discography/artist-name
| 归档时间: |
|
| 查看次数: |
6301 次 |
| 最近记录: |