我正在開發一個支付庫,它允許我通過相同的接口實現任何支付處理器。我現在的問題是,我想改進處理器饋送的數據的方式。現在它是一個數組,我對該數組不滿意。問題在於,如果您事先不知道所有字段,最終會收到通知,或者處理器代碼本身需要進行一系列檢查。這個想法是能夠採取任何類型的數據結構,因爲它在應用程序之間有所不同,並使其與處理器一起工作,但也確保處理器獲得他們所需的數據饋送。API接口的最佳實踐:傳遞數組或對象以使用?
我現在的想法是將其改爲一個對象。該對象將與所有處理器需要的有限的一組字段一起提供,並且通常具有相同的特性,但是可以擴展該對象以佔用額外的字段。
這樣做的好處是,我可以在處理器中驗證它是否已通過支付對象,並且可以驗證它是否實現了所有必需的字段(如果不引發異常)。
所以現在的問題是,如果這是一個好方法,或者有沒有更好的方法來保證所有的處理器都可以依賴傳遞的數據?
Downvoted?幾秒鐘後?跆拳道?在沒有證明理由的情況下,人們在投票之前是否甚至會閱讀標題以外的內容? – burzum
這是一個關於SO的問題嗎?跆拳道?人們甚至在閱讀常見問題解答之前,除了在天空問孔之前自己做任何事情嗎? - 抱歉的諷刺,但我想念你的問題的實質。在PHP中,數組幾乎可以與對象相同,您需要更具體地區分兩者。這取決於你在這裏不分享的很多背景中哪一個更好。非常主觀的方式要求而不是建設性的。你會看到,這也反映了答案的質量。 – hakre
到目前爲止,我對兩個4個答案都很滿意。 – burzum