Codeigniter原始碼分析
Codeigniter原始碼分析
尤川豪 发表于3年前
Codeigniter原始碼分析
  • 发表于 3年前
  • 阅读 18
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 最近想深入了解CI框架的底層運作 所以跟朋友一起,打算把整份source code讀過一遍

利用Codeigniter工作半年了

最近想深入了解CI框架的底層運作

所以跟朋友一起,打算把整份source code讀過一遍

並且加上我們的一些解釋與批評

http://howtomakeaturn.github.io/ci/menu

寫了幾份review之後,慢慢理解了一些對CI的批評是從何而來。

我目前看到最討厭的部份是core/common.php定義了大量的全域函數。

最可怕的是定義了load_class函數來負責載入絕大部分的類別。

這直接導致:

1、無法在建構式傳入參數

2、呼叫載入的類別要寫$URI =& load_class('URI', 'core'),真的很醜

3、所有相關類別因此都嚴重相依,無法把元件獨立出去在CI之外使用

另外,我還發現部份類別並沒有專注在「一個任務上」。例如Output類別裡面有計算benchmark相關的code,違反了single responsibility principle,增加了維護與理解的難度。

也因此,整體說來,source code並不好讀。

目前只review了一小部份,還會繼續下去。

想收集更多意見並且與大家討論,希望有興趣研究codeigniter原始碼的朋友,一起加入我們:)

https://github.com/howtomakeaturn/Analyze-Codeigniter


共有 人打赏支持
粉丝 4
博文 1
码字总数 351
作品 1
×
尤川豪
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: