2017-01-16 57 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

非常感谢你 –