[討論] 分析Codeigniter原始碼

看板PHP作者 (阿川)時間11年前 (2014/06/16 23:03), 11年前編輯推噓6(600)
留言6則, 6人參與, 最新討論串1/1
大家好 利用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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.188.46 ※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1402930985.A.C36.html

06/16 23:24, , 1F
努力給推,感謝分享!
06/16 23:24, 1F

06/17 01:10, , 2F
06/17 01:10, 2F

06/17 08:04, , 3F
努力推
06/17 08:04, 3F

06/17 15:07, , 4F
推~
06/17 15:07, 4F

06/17 16:17, , 5F
獲益良多!
06/17 16:17, 5F

06/17 21:57, , 6F
用了一段時間後就想棄坑了,很不習慣 Class的命名 囧
06/17 21:57, 6F
嗯嗯... 歡迎大家一起來review XDDDD 直接fork它!!! ※ 編輯: poopoo888888 (220.133.188.46), 06/17/2014 22:41:35
文章代碼(AID): #1JdmSfms (PHP)
文章代碼(AID): #1JdmSfms (PHP)