本文目錄一覽:
- 1、什麼是api,php中的api有哪些啊?能否幫我給出一個有關php的api的應用的例子?謝謝大家啊
- 2、PHP如何調用API接口
- 3、什麼是API接口,PHP開發API接口的例子
- 4、怎麼用PHP開發API供其他客戶端調用?
- 5、如何使用 php 開發 api
什麼是api,php中的api有哪些啊?能否幫我給出一個有關php的api的應用的例子?謝謝大家啊
API(Application Programming Interface,應用程序編程接口)是一套用來控制Windows的各個部件(從桌面的外觀到為一個新進程分配的內存)的外觀和行為的一套預先定義的Windows函數.用戶的每個動作都會引發一個或幾個函數的運行以告訴Windows發生了什麼.
PHP API的話是PHP開發平台集成的一些PHP的函數庫,說白了就是一堆寫好的東西讓你來使用,好幫助你快速的進行PHP程序的開發。
如淘寶的API,QQ賬號登陸的API
PHP如何調用API接口
他會提供相應接口給你的,具體調用方法就相當於講求某個鏈接。act=get_user_listtype=json在這裡operate.php相當於一個接口,其中get_user_list 是一個API(獲取用戶列表),講求返回的數據類型為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 );
什麼是API接口,PHP開發API接口的例子
api就是接口,其實說白了就是你平時寫的控制器方法,只不過這個方法的數據要加密,要驗證,是用來把這個方法的url給app或者客戶端以及別人來調的。這個方法就是api接口
怎麼用PHP開發API供其他客戶端調用?
一、接口的分類:
1、URL類型的接口
URL
路由帶參數式的接口!這個很好做!只要有過Web開發經驗的人都能完成!這種接口數據不夠隱蔽性,可以直接在瀏覽其中看到,如支付寶的交易請求URL。需
要加一個MD5簽名,和服務器端的再次向支付寶服務器發送驗證!雖然soap方式傳遞的數據隱蔽性很好!但為了數據安全,難免也需要進行數據簽名。
2、SOAP類型的接口
無關編程語言、無關平台、擴展性很好,要實現一個SOAP 型的接口,有兩種方式:一種有WSDL文件方式、一中無WSDL文件方式!
對
於熱愛研究型的人來說,使用第一種方式可以讓你清楚的了解PHP是怎麼創建了一個Web
Service!但第一種對於新手來說,創建一個XML格式的WSDL文件,是比較難的,這你的先了解熟悉什麼是XML!學會XML語法!但對於一個急於
解決問題的人來說!沒有這麼多的時間去熟悉!所以這是件煩惱的事!
二、PHP環境設置
先配置下PHP的soap環境支持:
找到php.ini文件
;extension=php_soap.dll
刪除掉”;” ,重啟apache服務器
為了便於測試,需要關於wsdl緩存
方式1:
配置文件:php.ini 選項 soap.wsdl_cache_enabled 設置為0
方式2:
代碼頭添加:ini_set(‘soap.wsdl_cache_enabled’, “0”); //關閉wsdl緩存
三、有WSDL文件方式創建
在
這裡先介紹標準的webservice。 那麼如何創建wsdl呢?對於PHP來說這確實是件很不容易的事情,有人說用zend
studio創建很方便,這是一種方法。但對於那些不喜歡用zend studio的人來說,會覺得創建一個web service還要安裝zend
studio,太強人所難了。
在這裡介紹一個簡單的方法,到網上下載SoapDiscovery.class.php類,裡面有個公用方法:getWSDL,這個方法末尾是用的 return,那麼,你修改一下這個方法:
//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’));
現在生成wsdl的類有了,SoapDiscovery.class.php(源碼在最末尾)。
再準備一個提供服務的Service.php類文件或者函數就可以創建wsdl了!
如何使用 php 開發 api
比如一個自定義函數:function test(){echo ‘hello world’;}就可以叫做 api。api 既可以是單個的函數,也可以是封裝在類里的方法,當然它們也是程序代碼。開發一個 api 的流程可以很簡單,也可以很複雜,視具體的編程任務而決定,並沒有特定的規則。比如,你需要為自己建立一個常用的函數庫,命名為 my.lib.php然後把你自己編寫的自定義函數,全部寫在這個文件裡面,那麼,你就擁有了自己的api。開發的時候,只需要引入 my.lib.php,你就可以調用自己的 api 了。這是一個比較簡單的例子。稍微複雜一點的,你可以把函數封裝在類裡面,方便繼承和重用,還可以根據函數名稱做一些程序設計,這個一句話說不清楚,給一個簡單的例子吧:class mylib{function showmy(){echo ‘這是我的一個類方法’;}}調用的時候,先要實例化類,然後再調用方法。再複雜一點的就是使用類接口,區別就是接口裡面定義的只是方法原型,而你需要通過具體的類來實現接口中的函數,具體請參考 php 手冊,關於接口的介紹。還有一種接口不是通過直接訪問接口代碼來實現功能的,這就是我們常說的 web service,俗稱遠程調用:比如:我的一個網站 在這個網址里包含了我開放的一些接口,可以供網絡上的其它用戶來獲取我網站的會員信 息 等 , 假 設 這 個 接 口 名 叫 userinfo , 那 么 開 發 者 可 以 通 過 來獲取某一個會員的信息,當然具體的代碼肯定很多,這裡只是舉例子說明。尤其要着重說明的是,開發者不是通過直接訪問 來獲取用戶信息的,當向別人開發自己網站的接口時,你需要編寫一些接口文件,供別人來使用 ,一般可以通過 fsockopen 函數來實現。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/249025.html