定义:
API代表应用程序编程接口,而接口指的是一个特定服务、一个应用程序或者与其他应用程序互动的公开模块。
使用API的原因:
使数据用于其他系统或者模块
以异步的方式向网站提供数据
构成一个面向服务器架构的基础
所以这些原因对增强API功能有巨大促进作用,事实上,大多数现代系统都需要某种形式的API,这是因为我们愈来愈多的从截然不同的系统中收集数据。对于只有普通web开发经验的开发者而言,前两项比较容易做到。
1.面向服务的架构
SOA(service-OrientedArchitecture,面向服务的架构)时在各种PHP应用程序中日益得到普及的方法。他是一个基于服务层的系统, 提供系统需要的所有功能,但这个服务提供的是应用层,并未链接到表现层。这样,多种系统就可以使用这个相同模块化、可重复使用的功能。也就是说,你可以写一个服务层,接着其他几个应用程序都来可以使用服务层。
SOA方法允许我们使用、测试以及强化应用服务层的代码,并且轻松的在其MVC方法应用于服务层,
2.数据格式
1)使用JSON
JSON(JavaScript ObjectNOtation)时表示JS对象的一种方式,但是很多现代语言都使用这种格式的内置功能。这是基于文本、用来表水数组或对象额一种格式、类似于PHP的序列化。
JSON是一种轻量级的格式:数据包小而简单,这使我们轻松的处理它。由于我们将JSON设计用于JS,因此它又是 JS使用API的最佳选择。
在PHP中,json_encode()函数编写JSON用json_decode()将它读取回来。
【示例】:
<span style="font-family:Microsoft YaHei;font-size:18px;"><?
$concerts = array(
array("title" =>"veaglefly","time"=>"Today"),
array("title" =>"xiaoming","time"=>"yeastoday")
);
$temp = json_encode($concerts);
echo json_encode($concerts);
echo "<pre>";
print_r(json_decode($temp));
echo "</pre>";</span>
Output:
2)使用XML
XML表示可扩展标记语言。在许多平台上它是表示机器可读数据的标准方式。
XML是比JSON更详细的一种格式。它包含更多数据类型的信息,不同的操作系统将使用不同的标记和属性详细的描述信息。
【示例1】:
<span style="font-family:Microsoft YaHei;font-size:18px;"><?xmlversion="1.0" encoding="UTF-8"?>
<configdata>
<home>
<label>首页</label>
<controller>index</controller>
<action>index</action>
</home>
<blog>
<label>我的博客</label>
<controller>blog</controller>
<action>index</action>
</blog>
</configdata>
<?
$sxml = newSimpleXMLElement(
'<?xml version ="1.0"?><concerts />'
);
$concert1 = $sxml ->addChild('concert');
$concert1 -> addChild("title","vEagleFly");
$concert1 ->addChild("time","today");
$concert2 = $sxml ->addChild('concert');
$concert2 ->addChild("title","vEagleFly");
$concert2 ->addChild("time","yeastoday");
$txml = $sxml ->asXML();
echo $sxml -> asXML();
$concert_list =simplexml_load_string($txml);
echo"<pre>";
print_r($concert_list);
echo"</pre>"; </span>
【示例2】:
<span style="font-family:Microsoft YaHei;font-size:18px;"><?
$sxml = newSimpleXMLElement(
'<?xml version ="1.0"?><concerts />'
);
$concert1 = $sxml ->addChild('concert');
$concert1 -> addChild("title","vEagleFly");
$concert1 ->addChild("time","today");
$concert2 = $sxml ->addChild('concert');
$concert2 ->addChild("title","vEagleFly");
$concert2 ->addChild("time","yeastoday");
$txml = $sxml ->asXML();
echo $sxml -> asXML();
$concert_list =simplexml_load_string($txml);
echo"<pre>";
print_r($concert_list);
echo"</pre>"; </span>
1. RPC 远程调用过程的缩写。RPC服务就是调用函数并传入参数的地方。
2. SOAP 简单对象访问协议。通常使用WDSL(web服务描述语言)文档描述SOAP服务,这是描述web服务的一组定义。
3. REST 与前两个术语不同,REST不是一个协议,他没有严格的接口和数据格式,却更像一套设计原则,REST将每个项目都视为一个资源,我们通过发送正确的动词到URL为这个资源执行动作。