创建API(使用PHP)

创建API(使用PHP),php,api,cloud,oauth-2.0,startup,Php,Api,Cloud,Oauth 2.0,Startup,两周来,我脑子里一直在想这个主意。我终于创建了一些案例和计划,说明我想在这个项目上做些什么。我必须创建一个web应用程序(ASP.NET)和一个桌面应用程序(Java)。这两个应用程序都需要同步数据库 我一直在考虑在我的数据库上创建一个公共API,以便我的前端和第三方可以与数据库通信。但我以前从来没有尝试过这样的事情。到目前为止,我已经花了一个周末的时间来阅读如何处理这个问题,我已经有了一个很好的想法。我目前有一些问题/疑问,希望有人能帮助我 1) 我目前还在上大学,我没有工作,所以我的口袋不会

两周来,我脑子里一直在想这个主意。我终于创建了一些案例和计划,说明我想在这个项目上做些什么。我必须创建一个web应用程序(ASP.NET)和一个桌面应用程序(Java)。这两个应用程序都需要同步数据库

我一直在考虑在我的数据库上创建一个公共API,以便我的前端和第三方可以与数据库通信。但我以前从来没有尝试过这样的事情。到目前为止,我已经花了一个周末的时间来阅读如何处理这个问题,我已经有了一个很好的想法。我目前有一些问题/疑问,希望有人能帮助我

1) 我目前还在上大学,我没有工作,所以我的口袋不会很深。我一直在考虑用PHP编写API,我已经拥有一个未计量的托管帐户,否则我将被迫购买.NET托管,这可能会非常昂贵。然而,我的PHP知识在解析用户输入/安全方面相当有限。搜索一本关于这个主题的电子书是明智的还是我对在线教程没意见,你有什么建议吗?我应该花时间编写一个可能易受攻击的PHAPPI,还是应该考虑其他选项

2) 到目前为止,我还没有真正需要研究PHP库。我想知道是否应该研究其中一些(例如cakePHP)来帮助我开发API

3) 我有实现Twitter/Linkedin API的经验,所以我一直在考虑使用OAuth(v2)来允许人们使用我的API。在API中实现OAuth需要很多工作吗?对于只有基本PHP知识的人来说,它的文档是否充分?如果你曾经在你的API上使用过它,你的经验是什么

4) 如果这个项目能启动,那么最好考虑将其托管在云中。我现在是否需要考虑一些事情,以便未来的云集成成为可能

5) 对于web应用程序,使用API或直接连接到数据库之间会有(很大)性能差异吗

6) 欢迎任何推荐的讲座或提示。这是我第一次尝试这么大的东西(包括功能和所需知识)

1)如果你有其他语言的经验,用PHP开发一个简单的API并不难。当然,每种语言都有自己的方式,当涉及到优化和类似的东西时,您可能需要更多的PHP知识

2) 使用PHP框架肯定会在很多方面有所帮助。我所有的PHP项目都使用。我真的建议你检查一下。这是一个解耦的框架,您可以使用框架中的各个组件。它的重量轻,速度快,并提供了伟大的工具,以建立你想要的。解释了好处。此外,使用ORM(我更喜欢条令)是一种选择,但这完全是另一个主题

3) 如果您决定使用symfony2,那么您可以使用它的(库)。即使没有框架也不难实现,但我在这方面没有任何经验

4) 我在云计算方面没有任何经验,所以不能对此发表评论

5) 在向项目添加另一层时,会有性能差异,但它是大还是小取决于API、数据库等。但是,使用API将意味着与数据库通信的标准方式,因此即使存在性能差异,这在一致性和开发时间方面可能是有益的(您不必处理不同的平台来处理数据库)


6) API的有用性在很大程度上取决于应用程序,如果没有关于项目的具体信息,我真的不能说它是否超过了成本。但在处理多种平台和语言时,使用标准化的方式和数据存储进行通信通常是一个好主意。因为我不知道你们对PHP了解多少,所以我不能评论这是否值得你们花时间。如果有足够的时间,我会去的,因为学习PHP会在你的武库中添加更多的工具,这将是一个很好的机会来提高你自己作为一个开发人员。

对不起,这个问题对于堆栈溢出来说太广泛了。或者更确切地说,这六个问题。你的帖子包含很多很多问题,这里的帖子应该更具体。为什么你不尝试自己实现一个API,当你遇到问题时,过来发布关于这个特定问题的信息。啊,好吧:/只是不想创建一些东西,然后看看它可以做得更简单/更安全。谢谢你的回答!今晚晚些时候我会去symfony2看看。