[CodeIgniter] list 不能當 function name 的問題
2013 Apr 27 CodeIgniter
這個問題其實很簡單
因為 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 功能是個好方法
ABOUT ME

路老闆 Louis
路老闆有限公司創辦人、Compassio 個人品牌一站式網站系統的開發者。二十年網站與行銷實戰經驗,長期陪伴講師、顧問與創作者把專業變成品牌。每週透過電子報與 Podcast《路老闆的個人品牌診療室》,分享個人品牌、網站經營與 AI 行銷的實務觀察。
如想留言評分,請先 登入會員!