URL路由設(shè)置-CI(codeigniter)PHP框架再探

字號:


    前面文章整體說了一下Codeigniter的訪問,其中涉及到route,URL路由設(shè)置,下面對CI再說一下
    在application/config/文件夾下有routes.php的設(shè)置。
    1.首先說URL默認路由設(shè)置
    $route['default_controller']='defaultFunction';
    這個是設(shè)置的默認訪問的路由,對應(yīng)的訪問對應(yīng)的類,也就是默認的controllers,如果沒有任何參數(shù),則會訪問controllers 對應(yīng)的index函數(shù)
    2.設(shè)置404錯誤頁面
    $route['404_oberride']='';
    這里設(shè)置的是404錯誤頁面,可以自定義,一般的默認的是對應(yīng)的view中的index.html
    3,上面連個都是固定的寫法,下面對自定義的url路由進行解釋
    默認的定義為
    anypoetry.com/className/function/id
    這樣默認的路由為 調(diào)用className的controllers類,調(diào)用內(nèi)部方法為function,傳遞第三個值為id,那在route路由中怎么實際設(shè)置呢
    比如要新聞 展示 序號為100的內(nèi)容,請求url為
    $route['news/show/(:num)']='news/show/$1';
    上面的意思是 調(diào)用controllers為news,方法為show 參數(shù)為$1 也就是序號
    在 controllers里面獲取參數(shù)為
    舉例 route為:
    $route['pages/(:any)/(:any)'] = 'pages/view/$1/$2';
    定義controllers里面pages為
    class Pages extends CI_Controller {
    public function view($p1,$p2){
    echo $p1.$p2;
    }
    }
    那訪問 anypoetry.com/index.php/pages/1/2
    則會輸出 12
    說一下后面參數(shù)的配置,目前有兩種參數(shù)
    :num 將匹配一個只包含有數(shù)字的segment(段).
    :any 將匹配一個包含任何字符的segment.
    這就是codeIgniter中route路由設(shè)置相關(guān)情況