我用的是PHP ,我現在寫的項目裡面的大多數的功能都封裝到函數中了,需要的用時候,就require ,再去傳參調用函數,不知道這樣會不會不好,難道還要用類別去實現嗎?
以segmentfault網站首頁為例子(首頁顯示一些問題),如果要讓我寫的話(使用MVC),我會先寫一個專門獲取問題的函數function getQuestion( 參數) , 然後再在首頁model(類) 中require 這個函數, 然後再傳參呼叫這個函數,取得到資料後,再給View 去渲染。
我總覺得 “require 這個函數然後去調用獲取數據” 這樣寫不好 , 但是不知道應該怎樣寫才算好,希望大家指教指教
大家讲道理2017-05-31 10:35:09
其實都可以不妨礙,但是你要問一種最優解,標準方案的話,那就使用類
實作吧。
可能你現在對很多概念還不理解,理解模糊,那麼先按照被人推崇的做法做,等過一陣子在看。
PHP中文网2017-05-31 10:35:09
你這問題就等於在問面向對象和麵向過程哪個好,這個問題已經爭論了很多年,如今也有人說面向函數,每個人都有自己喜歡的方式
我的見解是具體情況具體分析,面向對象易復用,易擴展,易維護,但是面向過程性能比面向對象高,如果項目中相同邏輯模組或者重複代碼較多,推薦使用面向對象,如果項目結構不複雜又追求性能,那麼比較推薦面向過程。其實一個專案中這兩種方式完全可以結合使用。看具體需求
http://m.blog.csdn.net/articl...
曾经蜡笔没有小新2017-05-31 10:35:09
真正的面向對象,必須要有:
有狀態 (stateful)
用訊息來通訊 (message passing)
否則請考慮 函數式 或 過程式。
把 類別 當作 命名空間 也是可以的,例如一個 類別 裡全是 靜態方法。
但 require
本身就是 命名空間 的一種實現,所以不需要。
漂亮男人2017-05-31 10:35:09
毫無疑問,使用 OO 程式設計。
PHP計畫發展到7這個版本,已經很OO了,沒必要開歷史的倒車。
追求性能? 別逗了,web應用的效能瓶頸一般不在這個地方。
你說的require這個問題,你用composer + namespace就可以了。
建議你來學習symfony,laravel這樣的框架程式碼,不要再閉門造車了。