2017-01-16 74 views
1


我有一個關於設計/重構現有應用程序的問題。我現有的應用程序在Laravel。我們有像User這樣的模型,您可以想象它將鏈接到數據庫中的Users表。
現在我打算將此用戶表移動到外部數據庫,可以通過API調用從我的應用程序中訪問該數據庫。
在應用程序的所有不同部分都有對當前用戶模型(如User :: find(Id))的調用。這不會再起作用了,因爲現在用戶表不再存在於數據庫中。
Laravel模型更改爲API

1問題:如何通過更改模型引用來調用API而不是DB表來實現上述目的。是否有任何可以利用的設計模式,以便我不必更改所有應用程序中的所有User :: find。

第二個問題:你將如何處理表被連接直接引用的地方。像table.x = User.x

任何幫助/指導,將不勝感激。謝謝

回答

0

它聽起來像你需要的是一個坐在你的模型(可能類似於Repository Pattern)的圖層。通過這種方式,您可以抽象出您的數據訪問層(目前爲Models),並使其可以輕鬆地用於其他實現(例如API請求)。這在Laravel 4中的工作量要比5多一點,並且可能需要進行重大的重構。至於你的第二個問題,你的API將不得不支配更高級的查詢併爲它們設置一個端點/方法。

+0

非常感謝你 –