php - 某個功能可以用函數實現,有必要再去使用類別去實現嗎
滿天的星座
滿天的星座 2017-05-31 10:33:09
0
10
848

我用的是PHP ,我現在寫的項目裡面的大多數的功能都封裝到函數中了,需要的用時候,就require ,再去傳參調用函數,不知道這樣會不會不好,難道還要用類別去實現嗎?

以segmentfault網站首頁為例子(首頁顯示一些問題),如果要讓我寫的話(使用MVC),我會先寫一個專門獲取問題的函數function getQuestion( 參數) , 然後再在首頁model(類) 中require 這個函數, 然後再傳參呼叫這個函數,取得到資料後,再給View 去渲染。
我總覺得 “require 這個函數然後去調用獲取數據” 這樣寫不好 , 但是不知道應該怎樣寫才算好,希望大家指教指教

滿天的星座
滿天的星座

全部回覆(10)
大家讲道理

其實都可以不妨礙,但是你要問一種最優解,標準方案的話,那就使用實作吧。

可能你現在對很多概念還不理解,理解模糊,那麼先按照被人推崇的做法做,等過一陣子在看。

给我你的怀抱

物件導向的幾個特性:封裝、繼承、多型,如果你的需求抽像有其中的特性,就應該考慮用oop。

Ty80

你這問題就等於在問面向對象和麵向過程哪個好,這個問題已經爭論了很多年,如今也有人說面向函數,每個人都有自己喜歡的方式

我的見解是具體情況具體分析,面向對象易復用,易擴展,易維護,但是面向過程性能比面向對象高,如果項目中相同邏輯模組或者重複代碼較多,推薦使用面向對象,如果項目結構不複雜又追求性能,那麼比較推薦面向過程。其實一個專案中這兩種方式完全可以結合使用。看具體需求

http://m.blog.csdn.net/articl...

PHPzhong

大型專案盡量使用類別實現,而小型專案透過函數更加簡單

需要重用的盡量透過類別實現

通過類別的好處是,程式碼寫多了,模組化之後再寫新專案會很輕鬆

曾经蜡笔没有小新

真正的面向對象,必須要有:

  • 有狀態 (stateful)

  • 用訊息來通訊 (message passing)

否則請考慮 函數式 或 過程式。

把 類別 當作 命名空間 也是可以的,例如一個 類別 裡全是 靜態方法。
require 本身就是 命名空間 的一種實現,所以不需要。

给我你的怀抱

可以看看這篇
物件導向與設計模式 /a/11...

漂亮男人

毫無疑問,使用 OO 程式設計。

PHP計畫發展到7這個版本,已經很OO了,沒必要開歷史的倒車。

追求性能? 別逗了,web應用的效能瓶頸一般不在這個地方。

你說的require這個問題,你用composer + namespace就可以了。

建議你來學習symfony,laravel這樣的框架程式碼,不要再閉門造車了。

黄舟

設計模式是不限於實現方式的,只是一種思想,按照個人喜好即可。
我自己喜歡用靜態類別(類別裡面全部是靜態方法)來處理這種場景

某草草

怎麼方便怎麼來

巴扎黑

看著自己的專案來吧,不要一個專案什麼都用,統一跟著專案走。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板