我有一個名爲Sharer
的類,它在構造方法中接受Service
接口。 Service
可以是FacebookService
或TwitterService
等等。每個Service
類都有一個post
方法,該方法使用自己的連接(在本例中爲facebook或twitter)傳遞傳遞給該方法的所有數組數據。如何在Laravel中有效地構造此代碼?
現在將Sharer
類normalizes
數據發送給那個service
的post方法。通過規範化,它會檢查我們發送給post
方法的東西是僅僅是一個簡單的數組還是一個Model
類。 Model
可以是Project
型號,或Image
型號,或Video
型號等。
如果它是模型類,那麼它會調用該特定模型的變換器。 Transformers
只是幫助程序類,它接受模型實例,並且它們有兩種方法 - 在這種情況下爲facebook
和twitter
。每個方法都會返回一個特定於連接的格式化數組。
因此,例如,facebook
方法從模型中抓取所需的字段(需要在Facebook上發佈)並將該數組發回。而Twitter方法對twitter的必填字段也是如此。
現在,我有點卡住的事情是調用變壓器類的具體方法。我想要做這樣的事情:
if(we are sharing on facebook) {
then call the facebook method
}
if(we are sharing on twitter) {
then call the twitter method
}
但很明顯,我想以某種方式使其動態和if語句不具備這些。什麼是更好的方法呢?