[CodeIgniter] list 不能當 function name 的問題

這個問題其實很簡單
因為 list 這個字是 php 的關鍵字
所以當然不能拿來當 function name

因為 CodeIgniter 的 controller function name 會被拿來當做 url 的一部分
例如

http://example.com/product/list/page3/

product 會是 controller 的 class name
而 list 就會是 function name

可是如同文章標題
list 這個字是不能當 function name 的
但是我又不想把 function name 改成其他字
怎麼辦呢

這時候就要用 CI 強大的 Route 功能囉

此時編輯 config/routes.php
加入這行

$route[‘product/list/(:any)’]          = “product/enum/$1”;

這行的作用是 把網址
product/list/xxxxx

都轉成
product/enum/xxxxx

這樣一來
所有 url 叫做 product/list 的要求
都會轉到 product/enum

至於 enum 是我自己取的 function name
你可以自己換成你自己想要的 function name

當然比較高級的方法
也可以去改 .htaccess
但是比較複雜
如果不想搞懂 .htaccess 的話
(我一直都不想搞懂啊阿阿阿~~)
用 CI 的 Route 功能是個好方法

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料