我应该将Web服务接口与系统的其他部分分开吗?

时间:2014-02-18 14:20:22

标签: php web-services rest laravel laravel-4

我正在开发一个系统(oly?!),一个常规系统。这个系统可能被认为是正常的:CRUD到处都是。 但是,我还需要将其数据作为Web服务访问。我正在使用Laravel 4开发两者:系统和Web服务。

当然,我有控制器用于系统上的所有CRUD,因此用户可以将信息放在数据库上。非常简单的东西......到目前为止!

正如我所说:我需要来使用网络服务格式的数据。我需要通过JSON字符串和REST动词向服务器发出请求和记录数据。话虽如此,问题出现了:

我是否应该创建一个全新的项目来将数据作为Web服务访问并将其与原始项目(cruds)分开,或者这只是我的一个愚蠢的想法?

我认为这可能有助于两个项目的安全性和凝聚力。

欢迎任何答复,并提前致谢! = d

1 个答案:

答案 0 :(得分:2)

如果您是一名能够轻松地将其他图层组织到当前应用中的编码人员,则可以创建网络服务图层,然后执行此操作。

如果(像我一样,也许还有其他大多数人)你会被乱七八糟的文件和文件夹淹没,并最终改变影响你现有应用程序的代码 - 保持清晰!写一个新的网络服务应用程序!

分开顾虑,晚上睡觉开心,两只动物分别被关在笼子里,这样他们就不会互相残杀。

虽然......你正在使用laravel。因此,您可以通过使用包(在L3中称为捆绑包)在一个应用程序中实际创建分离。你仍然可能会遇到困扰你当前应用程序的一些代码的风险,但如果你对自己严格要求,你应该没问题。

我问自己的一个问题是,为什么不让应用程序只是一个Web服务,并创建满足您的任何需求的客户端?将应用程序用作Web服务器以及Web服务似乎很奇怪。如果您尝试在同一个应用程序中同时执行这两种操作,则可能会遇到各种性能问题。

更新:

如果你以正确的方式做到这一点,请给出一个明确的答案:我说不,你没有以正确的方式做到这一点。从您的应用程序创建Web服务,并且只允许它成为Web服务。然后创建客户端应用程序(Web服务使用者)以满足您显示数据的任何需求。