Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php网站连接到php API_Php_Html_Database_Api_Web - Fatal编程技术网

从php网站连接到php API

从php网站连接到php API,php,html,database,api,web,Php,Html,Database,Api,Web,我对PHP很陌生。作为一个学习项目,我目前正在建立一个用户可以订购产品的网站 我不希望我的网站直接连接到我拥有的数据库,但我希望这个过程通过我制作的API进行。API有一个非常简单的结构:index.php接收调用和变量(通过post),然后根据接收到的数据类型,在它的一个控制器中运行一个函数 因此,问题是: 如何在我的网站和我的php api(在同一台服务器上)之间建立连接以访问我的数据库? 我在网上搜索了API连接,但大多数问题都是关于FBAPI和oAuth等的。如果我遗漏了一个类似的问题,

我对PHP很陌生。作为一个学习项目,我目前正在建立一个用户可以订购产品的网站

我不希望我的网站直接连接到我拥有的数据库,但我希望这个过程通过我制作的API进行。API有一个非常简单的结构:index.php接收调用和变量(通过post),然后根据接收到的数据类型,在它的一个控制器中运行一个函数

因此,问题是: 如何在我的网站和我的php api(在同一台服务器上)之间建立连接以访问我的数据库?

我在网上搜索了API连接,但大多数问题都是关于FBAPI和oAuth等的。如果我遗漏了一个类似的问题,请通知我,因为我会删除这个问题


任何帮助都将不胜感激,提前谢谢

听起来您想要实现一个RESTAPI。关于这个主题,有大量的教程和有用的链接,你可以很容易地找到。(这是一个不错的起点)。还有很多很多框架可以用来自动处理RESTful交互

编辑:

一旦设置了restapi,在PHP中连接API并与之交互的最佳方法就是使用cURL模块。是关于在PHP中使用cURL的一个很好的介绍

当前从API->client传递数据的首选结构是JSON。PHP使得使用JSON变得非常简单。在API中,用于将PHP变量转换为JSON等效字符串。在客户端内部,使用反向函数将API中的JSON响应转换为PHP对象:


这是一个众所周知的/广泛使用的技术,还有更多的细微差别需要考虑,但这应该是测试目的的充分介绍。一旦你理解了这些想法,我强烈建议你做一些google/stackoverflow搜索,并阅读更多关于这个主题的内容。

你应该有两个API。一个设计用于通过HTTP调用进行远程使用,另一个设计用于作为PHP函数调用之类的本地使用。强迫您自己的服务器的代码对自己执行全面的http请求是一种可怕的资源浪费和极低的效率。您好@berrbz,感谢您的反应!但我认为这是一个误解。我基本了解php和REST的工作原理(我也是一名iPhone开发人员,有iPhone应用程序与REST服务器一起工作)。但是用PHP代码在网站上做t对我来说是新的。我所要求的只是一行代码,它演示了如何通过php网站上的POST将一些变量发送到RESTAPI。你能帮我提供一下吗?我明白了,方法就是用卷曲。阅读一个基本的例子。确保在PHP中也启用了cURL模块!非常感谢。我花了今天的时间试图通过卷曲来实现这一点。我可以连接到我的API,这很好!有一个问题:我的API制作了一个数组返回到我的网站,但我的网站只收到一个简单的sting。我以你为例建立了联系。现在在做了一些研究之后,我还看到人们提到“会话”来进行api通信。这样会更好吗?还是有办法解决旋度的问题?提前谢谢你!最流行的方法(可能也是最好的)是让API输出JSON(实际上,它只是一个字符串)。然后可以在PHP中使用cURL读入JSON数据,并使用将字符串数据转换为PHP对象。要从API中输出数组数据,只需使用反向函数,JSON就做到了!你能编辑你的答案吗,然后我会投票并接受答案