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