好的,这可能已经回答了数百万次,但我在Google上找不到答案(也许我使用了错误的参数?)。
事情就是这样:
我打算使用PHP实现REST Web服务。这个web服务应该服务于移动应用程序和网站(位于同一服务器/虚拟主机/任何)。
例如,网址类似于:
现在我的问题是:
最适合查询数据库的查询类型是什么?例如,如果我从网站(http://www.somedomain.com/)登录,最好为此实现另一个内部PHP API或使用cURL登录到REST API以及为什么?
我知道,如果我从网站上实现另一个用于登录的PHP函数,我将使用少一个HTTP连接到我的服务器,但是它不会破坏RESTful API的想法吗?
提前谢谢。
答案 0 :(得分:1)
我想说你想省掉HTTP往返的地方。这可能是非常浪费的,但如果电话很少,那么代码去重复数据删除可能是值得的。这一切都取决于你的应用程序。
不要过于担心“打破RESTful API” - 按照你的逻辑,你自己的应用程序应该没有函数调用,只是对自己充满了curl
个调用。不,相反,在某些时候,您的代码需要摆脱管理层的言论,然后开始血腥的工作。 :)
答案 1 :(得分:1)
我相信大多数人都知道这一点,但为了完整起见:
函数或过程是指定的程序部分,它处理特定的任务,通常由函数声明或定义和函数体组成。
远程调用函数时,它称为远程过程调用(RPC),调用实现称为远程过程,通常由RPC- API and in rare cases by an ABI处理。
因此,您的任务的核心在于质疑远程过程调用的必要性,以及给定过程应执行的程度。因此,良好的代码重构指导是一个良好的API的良好开端。我一般都遵循以下指示:
初始身份验证程序是一个好主意,但我建议使用已建立的协议,例如 OAuth 2 ,而不是实现自己的协议。因此,最终可能会在远程php脚本中使用curl。
This应该让你开始。
除此之外,您没有提供足够的信息来为您提供更具体的答案。我一般建议您查看google,yahoo,facebook以及NCBI的PUG,了解他们如何实施REST API,这通常是一个很好的案例研究