PHP 板


LINE

看板 PHP  RSS
※ 引述《yororu (人生啊!)》之銘言: : 我不曉得到底用mvc建構為什麼要寫的這麼複雜???? : -- : 我並不是要求別人寫完美的給我.. : 我只是在想..到網路去下載CRM改和乾脆自己寫那個比較好?? : 還有如果自己寫的話需要用到class嗎???還是說儘量少用效率會比較好呢?? 我們到底需要 class 幹麼? 我們已經夠苦逼的碼農人生為什麼還要更多我看不懂的 framework 進來攪和, 老實說,我看過很多 phper 其實都有跟你相同的疑惑,非常多。 如果要一個最簡單的解釋,我會說, 物件導向(也就是你所謂的 class)的成因就和 function 沒有兩樣, 是一種為了能更「彈性」開發產生的程式思維。 誠如我今天要連線資料庫,如果不使用 function ,我只要一行 mysql_connect('host', 'user', 'password'); 如果我要把他寫成 function,我需要三行 function dbconn () { mysql_connect('host', 'user', 'password'); } 那麼如果有些人在整個程式裡, 從來都只需要用一次的 mysql_connect,那他一定會問, 為什麼一行可以解決的事,我需要為了 function 弄成三行, 還要放到另外一個單獨的檔案裡,再 include / require 進來, 這樣不是犯傻嗎? 但是你我都很清楚(而且不假思索), function 是很基礎而且必要的一種寫法。 同樣的,物件導向,是一整個大格局程式設計的基礎, 很多 phper 在沒有接觸到大型程式架構前,很難理解物件導向到底有什麼意義。 但實際上物件導向真的就是個基礎, 透過物件特性所衍生出來的設計模式和解決方案(也就是應用), 才是它的精神所在。 當然物件導向本身就有一些特性,讓它像是一種「強大且內斂」的 function , 從這個角度上來說,即使不使用設計模式也可以體會到物件導向的好。 另外我想你是不是誤解 MVC 了, 你所提的例子和 MVC 其實沒有直接關係,那就是個物件而已 :P MVC 算是一種比較抽象的設計模式觀念,除了 MVC 還有 MVVM 以及後來的 MVP http://zh.wikipedia.org/wiki/MVC http://en.wikipedia.org/wiki/Model_View_ViewModel http://zh.wikipedia.org/wiki/Model_View_Presenter 要說在小系統中 MVC 有什麼好…嗯,快速開發算嗎(被毆 我很可以理解,你會覺得原本簡單的東西用了這些框架之後反而變得複雜, 是這樣的,在一些 phper 寫 code 的架構裡,一隻 php 就是一個「頁面」, 但當網站架構複雜到某個程度後,很多頁面的處理上會開始變得複雜, 例如假設要弄「登入後才可見」和「不登入也可見」的畫面權限好了, 如果現在手上有 30 頁 php,那要怎麼做呢?一頁一頁加? hmm...是個方法,可是如果一個月後,權限改變了,權限種類變多了呢? 對,可以把他用 function 提取出來做一個總控制, 但還有沒有其他也不錯的方式呢? 有的,打造 router 和 dispatcher,用更彈性的方法來處理和維護這一段 (細節我就不講了) 所以這些東西是從根本上就完全不一樣的思維, 在你真正需要它之前,你都很難體認到它帶來的好處。 另外關於效能抉擇的問題,嗯,這又是另一個很大的議題了…(遠目 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 175.180.105.248
1F:推 MagicMomo19:純推好文 ! 09/05 23:55
2F:推 cruisel:小弟目前也正在學習物件導向,推版大觀念! 09/06 14:35
3F:推 kaiyuegg:推好文~! 09/28 10:36







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP