CodeIgniter 2.x 升級到 3.x

未分類
換 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 (自己寫的底層的東西)

一個一個搬過去

都沒問題以後

再開始加案子的東西