[英]Codeigniter URI Class how can i use – hyphen instead _ underscore?
我嘗試使用 - 連字符創建一些控制器,模型和視圖,但我總是得到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);
}
}
/楷模:
<?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;
}
}
}
如果你正在使用Codeigniter 3打開你的config / routes.php
$route['translate_uri_dashes'] = TRUE;
是的你可以。
通常,CI會生成類似於base_url / Controller_name / Method_name的url。
如您所知,控制器名稱和方法名稱不能包含“ - ”(連字符),因此您無法更改其名稱。
你能做的是使用路由器顯示正確的控制器與相應的URL。
就像你可以在config / routes.php上編寫這段代碼一樣
$route['get-artist-discography/artist-name'] ='get_artist_discography/artist_name';
如果你的鏈接是http://localhost:8888/ci/index.php/get-artist-discography/artist-name
這將執行你的get_artist_discography
控制器和artist_name
方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.