看板 PHP 關於我們 聯絡資訊
※ 引述《yororu (人生啊!)》之銘言: : 我一向寫程式都是用function 去做 : 第一點是因為我覺得class的語法對我 : 而言是蠻不熟悉了.. : 看語法能懂..但是要自己去寫就覺得本 : 來用function 可以幾行就做到的東西.. : 卻要寫那麼長覺得不喜歡... : 然後我在某網站也看到 : http://www.phpv.net/html/1453.html : 執行速度慢很多 : 所以真的不知道在php裡用class的優點在那裡.. : 還有最近在學很多MVC架構的東西(ex:Codeigniter).. : 也是覺得明明幾個function 就可以做出來.. : 好像要去理解那麼冗長的class和程序 : 然後執行速度很差 : 不知道有沒有人能夠反駁我的想法呢?? 我舉一個例子.. 在網路上都可以下載到用MVC模組做的CRM系統 然後我在看它的程式的時候.. 明明就用一行就可以OK的東西..(要做select資料庫的動作) 他就要建一個class 放fuction. 如下: function SelectDB($dbName) { $this->database = $dbName; $this->databaseName = $dbName; if ($this->_connectionID) { return mysql_select_db($dbName,$this->_connectionID); }else{ return false; } } 然後其他程式裡有一行如下 if ($argDatabasename) return $this->SelectDB($argDatabasename); 然後不知道為什麼...走到這行就出錯.. 我在那裡debug很久... 最後乾脆全刪除用一行 mysql_select_db($dbName,$this->_connectionID); 就都OK了.. 我不曉得到底用mvc建構為什麼要寫的這麼複雜???? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.61.150.138 ※ 編輯: yororu 來自: 210.61.150.138 (09/05 15:15)
tyf99:因為網路上下載的MVC架構,不是只有給你一個人用 09/05 15:23
tyf99:obj.database, obj.databaseName 其它人都可能會用到 09/05 15:24
LaPass:這是為了彈性、以及後續變動、維護的代價 09/05 15:24
tyf99:很多情況下,不是能乾脆全刪除這麼簡單 09/05 15:24
tyf99:你自己手刻MVC,也一樣可以刻得很精簡 09/05 15:26
tyf99:你要寫出來給大家用時,就是要符合各種人的需求 09/05 15:27
LaPass:說來話長..... 我對這個可是有切身之痛 = = 09/05 15:29
gpmm:推一個說來話長…有點想回可是我好懶…(掩面 09/05 15:30
tyf99:反正等他想改版,爆個一次就會學乖了 09/05 15:43
tkdmaf:都在要求別人要寫完美的給你?那你有沒有寫完美的給人家? 09/05 15:52
rocairforce:#1DRRPqjl 突然想到我寫過這麼一個莫名其妙的東西 09/05 15:52
tkdmaf:何況你說你對class的寫法「蠻不熟悉」...... 09/05 15:53
tkdmaf:試問不熟悉的話為什麼不先弄懂再來討論後續的問題? 09/05 15:53
我並不是要求別人寫完美的給我.. 我只是在想..到網路去下載CRM改和乾脆自己寫那個比較好?? 還有如果自己寫的話需要用到class嗎???還是說儘量少用效率會比較好呢?? ※ 編輯: yororu 來自: 210.61.150.138 (09/05 16:12)
Wush978:你要自己判斷這段程式未來會不會重複使用或是會不會改 09/05 16:48
Wush978:只用一次的程式碼話寫ㄧ行收工很好阿 09/05 16:48
tkdmaf:所以你以為只要單純處理資料庫運作,不用先過濾? 09/05 17:12
tkdmaf:還是你期望所有的過濾機制都是靠自己一個一個刻出來? 09/05 17:12
tkdmaf:然後就不打算有效的重覆使用? 09/05 17:12
gpmm:呃…樓上冷靜一點 = = 09/05 17:13
tkdmaf:另外就是你知道重覆使用物件的屬性~~~~ 09/05 17:14
tkdmaf:有時可以在很多地方套用相同的資料來源而不用重LOAD 09/05 17:14
tkdmaf:版主!我很冷靜!不用太擔心。 09/05 17:14
CaptainH:這問題好像和物件導向沒什麼關係? 09/05 17:14
tkdmaf:我只是認為對class不瞭解就說他不好這件事,感觸很深。 09/05 17:15
tkdmaf:要說某件事不好,通常是有很深的體會才說得出口的。 09/05 17:16
superpai:...... class在哪裡?沒看到呀? 09/05 21:01
kerash:樓上,他的function是被包在class中,只是沒寫完整而已 09/05 21:36
gname:自己刻+1, 邊刻邊學習...刻下去才會知道世界是如此的遼闊~ 09/05 23:00
Canboo:當以後想偷懶時,你就會自然而然跳到class,現在多說無益 09/06 00:15
Canboo:你可以研究一下別人提供的class,如果是你寫不用class會不 09/06 00:17
Canboo:會比較好用或好寫好維護,這種是要用經驗和時間去體會的 09/06 00:18
rocairforce:我想,如果妳的程式是射後不理 那就別class了 09/06 11:00
LaPass:射後部裡的確用不著這種東西 09/06 11:26
yororu:我們公司接的案子都是一般的中小企業網站..要做的東西不是 09/06 17:30
yororu:很多..都單純是一般網頁客戶意見最新消息還有一些他們要求 09/06 17:31
yororu:的功能...我做過大概10幾20個網站..大部份都維護2~3年,也有 09/06 17:33
yororu:超過5年的..這些網站如果要去用frame做開發起來會很慢..我 09/06 17:34
yororu:一開始就是用class去寫..後來一直改..本來以為可以重覆使用 09/06 17:35
yororu:後來一改再改變得愈來愈寵大..我才放棄那種方法. 09/06 17:36
yororu:改成寫幾支每個網站可能會用到的function 放同一個php裡.當 09/06 17:37
yororu:要建新網站時直接copy過去..然後也是很快就建好.. 09/06 17:38
yororu:是否我寫的案子都不夠大所以不用使用mvc架構或class呢? 09/06 17:40
tkdmaf:這問題在於…你是做網站?還是有系統的網站? 09/06 20:43