[請益] Codeigniter 有這種神奇的寫法嗎?

看板PHP作者 (海納百川)時間8年前 (2016/11/28 01:55), 8年前編輯推噓4(4021)
留言25則, 7人參與, 最新討論串1/3 (看更多)
大家好,最近請一家外包商寫 php 他們使用 Codeigniter 這個 framwwork 本來,我們沒有限定使用framwwork (另外也聽過大名頂頂的mvc) 就讓他用囉~~~ 不過,感覺廠商的基本工不太行,用 framwwork硬兜亂兜 例如:以下這種寫法 \application\modules\xxx\controllers\XXX.php class XXX extends CI_Controller { public function index(){ session_set_cookie_params (....) // 1 require_once(APPPATH.'libraries/YYYY.php'); //2 YYYY.php 是一個第三方套件,裡面有一些 變數 $aaa = ....; function bbbb() {....} 還有些 if/else/while 等控制流程 裡面沒有 Class 這種寫法,是不是非常有問題啊!? 雖然小弟 CI零基礎,但 Google 一下 1. CI 已經有 \application\config\config.php 的 $config['sess_****'] \system\libraries\Session\ 在專門處理session,怎麼還能有 session_set_cookie_params (),這不是唱雙簧嗎? 2. 我不懂MVC,但也粗知OOP .. Class裡面再去 include別的檔,感覺會出問題啊 不是應該把libraries/YYYY.php 弄成Class 再 $this->load->library('YYYY') 請賜教.. thx~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.59.62 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1480269337.A.261.html ※ 編輯: newversion (111.248.59.62), 11/28/2016 01:57:20

11/28 02:06, , 1F
抱臉又笑又哭狀
11/28 02:06, 1F

11/28 09:16, , 2F
重點不在include方式,而是個library會有side effect
11/28 09:16, 2F

11/28 09:19, , 3F
當你include之後,你無法預期他會對整個狀態做了什麼改變
11/28 09:19, 3F

11/28 09:20, , 4F
很典型的就是include後自動設了一個top level變數
11/28 09:20, 4F

11/28 09:21, , 5F
如果剛好這個變數是你之前已經定義好的怎麼辦呢?
11/28 09:21, 5F

11/28 10:22, , 6F
沒有class應該是放/helpers,他這個就叫土砲
11/28 10:22, 6F

11/28 10:25, , 7F
session也有很多奇怪的土砲法
11/28 10:25, 7F

11/28 10:25, , 8F
但是CI的session是用cookie模擬的,除非另外裝套件
11/28 10:25, 8F

11/28 10:25, , 9F
也許他計劃用php native session
11/28 10:25, 9F

11/28 10:55, , 10F
CI3已經是用真的session了 除非他是CI2
11/28 10:55, 10F

11/28 11:58, , 11F
從它 controller目錄位置看,既非ci3也非ci2,ci1我沒
11/28 11:58, 11F

11/28 11:58, , 12F
接觸不清楚,另還有基於ci開發的opencart之類的東西
11/28 11:58, 12F

11/28 12:01, , 13F
ci3 session才改為php原生,ci2之前是寫在cookie,自
11/28 12:01, 13F

11/28 12:01, , 14F
行存取原生session是很常見的,雖然它寫法不是很好就是
11/28 12:01, 14F

11/28 12:01, , 15F
11/28 12:01, 15F

11/28 13:51, , 16F
MVC 跟 Codeigniter 應該不是同一個層級的東西
11/28 13:51, 16F

12/01 12:30, , 17F
使用CI不代表不能用原生寫法,只是一切還要遵循CI架
12/01 12:30, 17F

12/01 12:30, , 18F
構去寫,未來才好維護。
12/01 12:30, 18F

12/01 12:30, , 19F
原po的土砲寫法確實不太好就是
12/01 12:30, 19F

12/01 12:32, , 20F
推樓上,大部分的Web MVC 如CI
12/01 12:32, 20F

12/01 12:32, , 21F
我認為這比較像modal2而非真正的MVC
12/01 12:32, 21F

12/01 13:11, , 22F
Model 2。modal是開起來按X才可以關的那種燈箱。
12/01 13:11, 22F

12/01 13:11, , 23F
更正 是model2,參考資料來源http://www.ithome.com.t
12/01 13:11, 23F

12/01 13:12, , 24F

12/01 13:13, , 25F
小弟英文不太好,常常選錯字>///<
12/01 13:13, 25F
文章代碼(AID): #1OEnuP9X (PHP)
文章代碼(AID): #1OEnuP9X (PHP)