CodeIgniter 2.x 升級到 3.x
2015 Jul 04 未分類
換 framework 版本真的是一件很累的事情
尤其是換 大版號 2=>3
我不敢拿線上的案子來換
所以拿了月初寫的客服系統來換換看
http://www.codeigniter.com/user_guide/installation/upgrade_300.html
然後就是參考這篇去改
一個一個項目 check
大概花了一個下午吧
都改完以後還是不會動
因為我的 CodeIgniter 有自定一些東西
跟原本的 CodeIgniter 設定就不一樣
例如我有改 多層的 Controller 的功能
還有我有改一個避免 Controller 跟 Model 名稱相同的功能
因為 CI 3.x 又改了一些東西
我得配合他去修以前的東西
我覺得比較大的改變是
Controller 跟 Model 的檔案名稱都要大寫開頭
我看程式碼裡面 程式會把 url 的 controller 區段的第一個字改成大寫
再去抓 controller
所以如果你檔案名稱是小寫
就會出現 404
我不知道這樣規定的意義是什麼
所以我也不敢去把它轉大小的 code 改掉
不過這是寫作風格
更嚴重的是這個
Step 10: Many functions now return NULL instead of FALSE on missing items
一堆函數的 return value 從 FALSE 改成 NULL (當抓不到東西的時候)
尤其是 input (get/post)
可能會讓程式掛掉
整個網站都要檢查
所以如果不是全新的專案
還是不建議升級
不然升級可能會導致問題
(有問題那就算了 還會讓你問題找很久才找到答案)
所以我比較建議
開一個新的 CodeIgniter 3.0 的框架
然後把你要的 Controller, Model, View (自己寫的底層的東西)
一個一個搬過去
都沒問題以後
再開始加案子的東西