【发布时间】:2013-07-04 19:43:19
【问题描述】:
我正在使用基于 MVC 的框架在 PHP 中创建一个应用程序。我正在为移动应用公开一个 Web API。
同样的移动界面也将在 Web 应用程序中创建。 所以:
为了创建网页界面,我可以使用为移动应用创建的 API 与 HTTP 请求吗?
或
模型方法暴露了,我们可以使用模型而不是在同一个服务器调用和连接API吗?
最佳做法是什么?
【问题讨论】:
标签: php database-design architecture
我正在使用基于 MVC 的框架在 PHP 中创建一个应用程序。我正在为移动应用公开一个 Web API。
同样的移动界面也将在 Web 应用程序中创建。 所以:
为了创建网页界面,我可以使用为移动应用创建的 API 与 HTTP 请求吗?
或
模型方法暴露了,我们可以使用模型而不是在同一个服务器调用和连接API吗?
最佳做法是什么?
【问题讨论】:
标签: php database-design architecture
这取决于,如果是你的内部产品,并且你是API的唯一用户,最好暴露函数库API。例如:addUser、deleteUser。
如果您希望其他人使用 API 并创建一些应用程序(根据他们自己的需要使用不同的逻辑),请给他们基于模型的访问权限。据我所知,功能性 API 通常是创建和公开的。因为这种API节省了webservice调用的次数,并隐藏了它下面的逻辑。
编辑
如果你的意思是在内部调用 web 服务......理想的设计应该是......它们应该是由核心逻辑组成的委托方法,那么可以从您的 api 以及控制器调用该核心逻辑函数。在内部调用 web 服务将是不必要的性能开销。虽然您可以在小型应用程序中做到这一点,但这并不是一个好的解决方案。
如果你的模型层包含业务逻辑,虽然理想情况下它应该是一个单独的层......那么你应该考虑使用模型。
【讨论】: