这与创建普通网站几乎相同。
php 网站的正常模式是:
- 用户输入网址
- 服务器获取url,解析并执行动作
- 在此操作中,您获取/生成页面所需的所有信息
- 您使用来自操作的信息创建 html/php 页面
- 服务器生成一个完整的 html 页面并发回给用户
使用 api,您只需在 3 和 4 之间添加一个新步骤。在 3 之后,创建一个包含您需要的所有信息的数组。将此数组编码为 json 并退出或返回此值。
$info = array("info_1" => 1; "info_2" => "info_2" ... "info_n" => array(1,2,3));
exit(json_encode($info));
这一切都是为了 api。
对于客户端,您可以通过 url 调用 api。如果 api 仅与 get 调用一起工作,我认为可以简单地做一个(检查,我通常使用 curl)。
$info = file_get_contents(url);
$info = json_decode($info);
但更常见的是使用 curl 库来执行 get 和 post 调用。
如果需要 curl 方面的帮助,可以问我。
从 api 获取信息后,您可以执行 4 和 5 步骤。
查看 json 函数和 file_get_contents 的 php 文档。
卷曲:http://fr.php.net/manual/fr/ref.curl.php
编辑
不,等等,我不明白。 “php API 页面”是什么意思?
api 只是您项目的创建/恢复。你永远不会直接发送 html 结果(如果你正在制作一个网站)抛出一个 api。您使用 url 调用 api,api 返回信息,您使用此信息创建最终结果。
ex:你想写一个 html 页面谁打招呼 xxx。但是要获取用户的名称,您必须从 api 获取信息。
假设您的 api 有一个函数,该函数以 user_id 作为参数并返回该用户的名称(例如 getUserNameById(user_id)),并且您仅在您的 /api/ulr/getUser/ 之类的 url 上调用此函数身份证。
Function getUserNameById(user_id)
{
$userName = // call in db to get the user
exit(json_encode($userName)); // maybe return work as well.
}
从客户端你做的
$username = file_get_contents(your/api/url/getUser/15); // You should normally use curl, but it simpler for the example
// So this function to this specifique url will call the api, and trigger the getUserNameById(user_id), whom give you the user name.
<html>
<body>
<p>hello <?php echo $username ?> </p>
</body>
</html>
因此客户端永远不会直接访问数据库,即 api 的角色。
这样更清楚吗?