1、首先建立一個(gè)abstract文件名php為后綴的文件。并在頁(yè)面中加入php標(biāo)記 。
專業(yè)從事成都網(wǎng)站建設(shè)、做網(wǎng)站,高端網(wǎng)站制作設(shè)計(jì),小程序制作,網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠(chéng)服務(wù),采用成都h5網(wǎng)站建設(shè)+CSS3前端渲染技術(shù),響應(yīng)式網(wǎng)站設(shè)計(jì),讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過(guò)程建立專項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。
2、在頁(yè)面中創(chuàng)建一個(gè)以abstract開(kāi)頭的類Ab。
3、在抽象類中創(chuàng)建一個(gè)抽象方法就是在創(chuàng)建方法的時(shí)候public前邊加一個(gè)abstract但是方法不加方法體并在結(jié)尾加分號(hào)。
4、創(chuàng)建一個(gè)子類來(lái)集成抽象類Ab。
5、繼承類創(chuàng)建好后實(shí)例化Sonab類并調(diào)用其中的方法就能調(diào)用成功了。
用json_decode()將json字符串轉(zhuǎn)化成php數(shù)組,然后直接循環(huán)數(shù)組取出值即可。
?php
$content= file_get_contents('獲取json字符串的url');
$content = json_decode($content);//將json字符串轉(zhuǎn)化成php數(shù)組
foreach ($content as $key ) {//循環(huán)數(shù)組
echo 'li' . $key['city'] . '/li';
echo 'li' . $key['city_en'] . '/li';
echo 'li' . $key['date_y'] . '/li';
echo 'li' . $key['week'] . '/li';
}
他會(huì)提供相應(yīng)接口給你的,具體調(diào)用方法就相當(dāng)于講求某個(gè)鏈接。act=get_user_listtype=json在這里operate.php相當(dāng)于一個(gè)接口,其中g(shù)et_user_list 是一個(gè)API(獲取用戶列表),講求返回的數(shù)據(jù)類型為JSON格式。act=get_user_listtype=json';$ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 );curl_setopt ( $ch, CURLOPT_POST, 1 ); //啟用POST提交$file_contents = curl_exec ( $ch );curl_close ( $ch );
一、接口的分類:
1、URL類型的接口
URL
路由帶參數(shù)式的接口!這個(gè)很好做!只要有過(guò)Web開(kāi)發(fā)經(jīng)驗(yàn)的人都能完成!這種接口數(shù)據(jù)不夠隱蔽性,可以直接在瀏覽其中看到,如支付寶的交易請(qǐng)求URL。需
要加一個(gè)MD5簽名,和服務(wù)器端的再次向支付寶服務(wù)器發(fā)送驗(yàn)證!雖然soap方式傳遞的數(shù)據(jù)隱蔽性很好!但為了數(shù)據(jù)安全,難免也需要進(jìn)行數(shù)據(jù)簽名。
2、SOAP類型的接口
無(wú)關(guān)編程語(yǔ)言、無(wú)關(guān)平臺(tái)、擴(kuò)展性很好,要實(shí)現(xiàn)一個(gè)SOAP 型的接口,有兩種方式:一種有WSDL文件方式、一中無(wú)WSDL文件方式!
對(duì)
于熱愛(ài)研究型的人來(lái)說(shuō),使用第一種方式可以讓你清楚的了解PHP是怎么創(chuàng)建了一個(gè)Web
Service!但第一種對(duì)于新手來(lái)說(shuō),創(chuàng)建一個(gè)XML格式的WSDL文件,是比較難的,這你的先了解熟悉什么是XML!學(xué)會(huì)XML語(yǔ)法!但對(duì)于一個(gè)急于
解決問(wèn)題的人來(lái)說(shuō)!沒(méi)有這么多的時(shí)間去熟悉!所以這是件煩惱的事!
二、PHP環(huán)境設(shè)置
先配置下PHP的soap環(huán)境支持:
找到php.ini文件
;extension=php_soap.dll
刪除掉";" ,重啟apache服務(wù)器
為了便于測(cè)試,需要關(guān)于wsdl緩存
方式1:
配置文件:php.ini 選項(xiàng) soap.wsdl_cache_enabled 設(shè)置為0
方式2:
代碼頭添加:ini_set('soap.wsdl_cache_enabled', "0"); //關(guān)閉wsdl緩存
三、有WSDL文件方式創(chuàng)建
在
這里先介紹標(biāo)準(zhǔn)的webservice。 那么如何創(chuàng)建wsdl呢?對(duì)于PHP來(lái)說(shuō)這確實(shí)是件很不容易的事情,有人說(shuō)用zend
studio創(chuàng)建很方便,這是一種方法。但對(duì)于那些不喜歡用zend studio的人來(lái)說(shuō),會(huì)覺(jué)得創(chuàng)建一個(gè)web service還要安裝zend
studio,太強(qiáng)人所難了。
在這里介紹一個(gè)簡(jiǎn)單的方法,到網(wǎng)上下載SoapDiscovery.class.php類,里面有個(gè)公用方法:getWSDL,這個(gè)方法末尾是用的 return,那么,你修改一下這個(gè)方法:
//return sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL, $serviceWSDL, $messageWSDL, '/definitions');
//生成wsdl文件,將上面的return注釋
$fso = fopen($this-class_name . ".wsdl" , "w");
fwrite($fso,
sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL,
$serviceWSDL, $messageWSDL, '/definitions'));
現(xiàn)在生成wsdl的類有了,SoapDiscovery.class.php(源碼在最末尾)。
再準(zhǔn)備一個(gè)提供服務(wù)的Service.php類文件或者函數(shù)就可以創(chuàng)建wsdl了!
API:應(yīng)用程序接口(API:Application Program Interface)
應(yīng)用程序接口(API:application programming interface)是一組定義、程序及協(xié)議的集合,通過(guò) API 接口實(shí)現(xiàn)計(jì)算機(jī)軟件之間的相互通信。API 的一個(gè)主要功能是提供通用功能集。程序員通過(guò)使用 API 函數(shù)開(kāi)發(fā)應(yīng)用程序,從而可以避免編寫無(wú)用程序,以減輕編程任務(wù)。
遠(yuǎn)程過(guò)程調(diào)用(RPC):通過(guò)作用在共享數(shù)據(jù)緩存器上的過(guò)程(或任務(wù))實(shí)現(xiàn)程序間的通信。
標(biāo)準(zhǔn)查詢語(yǔ)言(SQL):是標(biāo)準(zhǔn)的訪問(wèn)數(shù)據(jù)的查詢語(yǔ)言,通過(guò)通用數(shù)據(jù)庫(kù)實(shí)現(xiàn)應(yīng)用程序間的數(shù)據(jù)共享。
文件傳輸:文件傳輸通過(guò)發(fā)送格式化文件實(shí)現(xiàn)應(yīng)用程序間數(shù)據(jù)共享。
信息交付:指松耦合或緊耦合應(yīng)用程序間的小型格式化信息,通過(guò)程序間的直接通信實(shí)現(xiàn)數(shù)據(jù)共享。
當(dāng)前應(yīng)用于 API 的標(biāo)準(zhǔn)包括 ANSI 標(biāo)準(zhǔn) SQL API。另外還有一些應(yīng)用于其它類型的標(biāo)準(zhǔn)尚在制定之中。A
你沒(méi)法調(diào)移動(dòng)。聯(lián)通api的,如果要進(jìn)行短信發(fā)送,可以去找短信接口,一般去運(yùn)營(yíng)商購(gòu)買,然后他們提供api。然后用php對(duì)接即可,很簡(jiǎn)單,比如下面使用的就是某家的api發(fā)送:
$this-content = “發(fā)送內(nèi)容”;
$this-name = "短信賬號(hào)";
$this-pwd= "短信密碼";
$this-mobile = "發(fā)送的手機(jī)號(hào)";
$argv = array(
'name'=$this-name, //必填參數(shù)。用戶賬號(hào)
'pwd'=$this-pwd, //必填參數(shù)。(web平臺(tái):基本資料中的接口密碼)
'content'=$this-content, //必填參數(shù)。發(fā)送內(nèi)容(1-500 個(gè)漢字)UTF-8編碼
'mobile'=$this-mobile, //必填參數(shù)。手機(jī)號(hào)碼。多個(gè)以英文逗號(hào)隔開(kāi)
'stime'='', //可選參數(shù)。發(fā)送時(shí)間,填寫時(shí)已填寫的時(shí)間發(fā)送,不填時(shí)為當(dāng)前時(shí)間發(fā)送
'sign'=$this-sign, //必填參數(shù)。用戶簽名。
'type'=$this-type, //必填參數(shù)。固定值 pt
'extno'=$this-extno //可選參數(shù),擴(kuò)展碼,用戶定義擴(kuò)展碼,只能為數(shù)字
);
//構(gòu)造要post的字符串
foreach ($argv as $key=$value) {
if ($flag!=0) {
$params .= "";
$flag = 1;
}
$params.= $key."=";
$params.= urlencode($value);
$flag = 1;
}
$url = "?".$params; //提交的url
$resultUrl = file_get_contents($url);//獲取發(fā)送狀態(tài)
網(wǎng)頁(yè)名稱:php調(diào)用金數(shù)據(jù)api php調(diào)用第三方api接口
轉(zhuǎn)載來(lái)于:http://www.chinadenli.net/article28/doojdcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、商城網(wǎng)站、ChatGPT、品牌網(wǎng)站制作、網(wǎng)站改版、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
營(yíng)銷型網(wǎng)站建設(shè)知識(shí)