首頁  >  問答  >  主體

php - 某個功能可以用函數實現,有必要再去使用類別去實現嗎

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

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

滿天的星座滿天的星座2698 天前761

全部回覆(10)我來回復

  • 大家讲道理

    大家讲道理2017-05-31 10:35:09

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

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

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-31 10:35:09

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

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-31 10:35:09

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

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

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

    回覆
    0
  • PHPz

    PHPz2017-05-31 10:35:09

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

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

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

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-31 10:35:09

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

    • 有狀態 (stateful)

    • 用訊息來通訊 (message passing)

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

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

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-31 10:35:09

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

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-31 10:35:09

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

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

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

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

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

    回覆
    0
  • 黄舟

    黄舟2017-05-31 10:35:09

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

    回覆
    0
  • 某草草

    某草草2017-05-31 10:35:09

    怎麼方便怎麼來

    回覆
    0
  • 巴扎黑

    巴扎黑2017-05-31 10:35:09

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

    回覆
    0
  • 取消回覆