簡體   English   中英

Codeigniter URI類我如何使用 - 連字符而不是_下划線?

[英]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方法

您可以在CI文檔中了解有關URI路由的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM