Re: [請益] Codeigniter的糟糕之處?

作者: TonyQ (自立而後立人。)   2014-04-15 19:08:55
※ 引述《poopoo888888 (阿川)》之銘言:
: 小弟在公司用CI約莫半年
: 看到網路上對CI的批評很多
: 他過時、他不是OOP、他不是MVC
: 但都是一些大方向的描述 不夠明確
: 可以請教各位前輩的意見
: CI哪些地方很糟糕?哪些地方值得改進?
: 謝謝各位 小弟學了一個東西後就很想分析他的優缺點
: 我就先拋磚引玉了
: 在system/core的資料夾 有個Common.php檔
: 定義了CI一大堆的global function
: 但是global function跟global variable多了都是不好的
: 整理的不夠好、然後再到處用這些global function 簡直是硬幹
: 還有嗎?
: CI哪些地方很糟糕?哪些地方值得改進?
: 同步在SO發問
: http://stackoverflow.com/questions/23028540/bad-patterns-in-codeigniter
它最糟糕的點是 CI 團隊已經沒在維護他了,
但它我認為算是有 OOP 了,有類別能繼承能複寫是有什麼好不 OOP 的。
MVC ,他有 Model 有 controller 有 view ,看起來該有的也都有了。
我用了 CI 兩三年有了,一開始用就喜歡它,
開啟一個新專案只要幾分鐘不到一解就可以開始有最小單位的組合。
到目前為止就 php 而言,它還是我最喜歡的 framework。
(筆者寫過 JavaEE/.net MVC/rails,我想不是見識淺薄的緣故。)
我對 CI 的看法是它非常著重 Controller/Model,
也就是如果單純寫 controller/model ,你會覺得它考慮了很多事情。
像是 controller 加 function 等於加 routing 的 convention,
這點讓他變得非常好用。
對 lib 跟 helper 的切法也還算聰明,
就 lib 而言你只要對任何第三方的 lib 寫一隻 wrapper 就可以無痛整合。
就 helper 而言,也完全沒有負擔。
搭配 autoload 的機制更是世界變得輕鬆美好。
然後 remap 的機制更能讓你輕鬆做到最最基本的登入權限控管,
可以在真正碰到 controller 的 function 之前,
從源頭就一次檢驗是否有登入權限並做登入。
(跟rails 的 :before_action 或 JavaEE 的 filter 很像,非常好用。)
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-04-15 20:56:00
哈~我們都用一個很簡單的lib,自動include主要的page這個頁框可以另外維護,就跟masterpage一樣session是乾脆用別人寫的lib包裝$_SESSION換掉他的
作者: amhuang (阿銘)   2014-04-15 22:22:00
CodeIgniter 自從ellislab 丟出尋找新東家的訊息就都沒再更新了, 真希望能繼續活下去
作者: DongFeng   2014-04-16 01:40:00
PUSH
作者: alog (A肉哥)   2014-04-16 18:52:00
php framework太多了 真的會有人接手@.@?
作者: j87b0003 (I'm 邱老虎)   2014-04-16 22:00:00
個人覺得ci真的很好用…
作者: herb123456 (herb123456)   2014-04-23 15:05:00
推薦你用Symfony2,你提的問題都解決了我是沒寫過CI,但我猜他的缺點就是很多基本東西要自己來我用Symfony2幾乎都專注在核心演算法上很多基本功能都做得好好的等我使用,很適合做快速開發
作者: TonyQ (自立而後立人。)   2014-04-24 23:09:00
不是解決問題就是好東西,Symfony2 對我還是太複雜了

Links booklink

Contact Us: admin [ a t ] ucptt.com