最土程序的api接口开发分析
2011-01-20 20:58 来源:www.chinab4c.com 作者:熊斌
我们在使用最土程序的时候,为了让更多的团购导航站或者是联盟站收录我们的商品的时候。我们可以对最土程序二次开发很多接口出来.供其导航站或者是联盟站抓取数据,重要是他们提供标准的接口文档,我们就能很容易的根据他们的需求开发出对应的最土程序api接口.
我们可以看到在最土团购程序的根目录下,有个文件夹api,里面放的就是最土程序对外合作的api接口。其实也就是利用对方提供的api标准。来生成一个xml文件。
比如我们可以看到api接口的baidu.php,里面生成的就是支持baidu团购程序的xml文件格式。通过Output::XmlBaidu($oa);来处理生成的,这个方法是通过includes/library/Output.class.php来负责处理的.
我们分析起原理,不难发现。只要提供一个数据数组$array,按其key/value对出现封装.然后将其转化为xml格式.将通过该函数来处理,当然了。数据结构的生成需要最土程序数据库的一些操作来完成。
static public function ArrayToXml($array, $level=0, $topTagName='result')
{
if ($topTagName) {
$xml = str_repeat("\t",$level) . "<$topTagName>\n";
$level++;
}
foreach ($array as $key=>$value) {
if( is_numeric($key) ){
$key = self::GetSubTagName($topTagName);
}
if($value===false) $value='false';
if($value===true) $value='true';
if (is_array($value)) {
$xml .= self::ArrayToXml($value,$level,$key);
} else {
if (htmlspecialchars($value) != $value) {
$xml .= str_repeat("\t",$level)
."<$key><![CDATA[$value]]></$key>\n";
} else {
$xml .= str_repeat("\t",$level).
"<$key>$value</$key>\n";
}
}
}
if ($topTagName) {
$xml .= str_repeat("\t",($level-1)) . "</$topTagName>\n";
}
return $xml;
}
那很简单的道理,我们可以将任意一个接口解析,按其要求生成数组.比如生成baidu的接口.调用的方法是以下.
static public function XmlBaidu($data=null, $error=0)
{
$xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
$xml .= self::ArrayToXml( $data, 0, 'urlset' );
die( $xml );
}
最土程序的api制作也特别简单,只要我们熟悉上面的分析.我们就可以很方便的制造出接口.
最近更新
常用插件
- ecshop整合baidu百度开放平台
大家都知道,baidu的开放平台已经很成熟了。可以方便中小型B2C企业数据...
- ecshop2.7.2增加商品销量排序
ecshop2.7.2虽然在用户体验方面,有些提高。但是很多根本性的东西,还是...
- ecshop中如何判断是否微信
ecshop中如何判断是否微信浏览器,我们在ecshop手机版里面。有时候需要...
- ecshop二次开发售后维修卡
插件介绍: 本插件是用于专门从事电子,信息,软件等售后服务关键比...
- ecshop注册红包插件
ecshop的红包使用是ecshop的一大特点.ecshop注册的时候,我们可以开发一...