PHP關於API介面執行個體分享

來源:互聯網
上載者:User
API就是作業系統留給應用程式的一個調用介面,應用程式通過叫用作業系統的 API 而使作業系統去執行應用程式的命令(動作)。本文主要和大家分享PHP關於API介面執行個體,希望能協助到大家。

PHP產生JSON資料

json_encode($value) 方法

(response.php和testapi.php)

通訊標準格式:

code 狀態代碼 message 提示資訊 data返回資料

json如何封裝通訊資料方法

Response類

  1. <?phpclassResponse{/***按json方式輸出通訊資料*@param integer $code 狀態代碼*@param string $message 提示資訊*@param array $data 資料*return string*/publicstaticfunction json($code,$message='',$data=array()){if(!is_numeric($code)){return'';}$result=array('code'=>$code,'message'=>$message,'data'=>$data);echo json_encode($result);exit;}}

執行個體使用

  1. <?phprequire_once('./apitest.php');$arr=array('id'=>1,'name'=>'huwei',);Response::json(200,'資料返回成功',$arr);

PHP產生XML資料

1.組裝字串

2.使用系統類別

DomDocument

XMLWriter

SimpleXML

封裝XML通訊介面

封裝方法

/***按XML方式輸出通訊資料*@param integer $code 狀態代碼*@param string $message 提示資訊*@param array $data 資料*return string*/publicstaticfunction xml($code,$message='',$data=array()){if(!is_numeric($code)){return'';}$result=array('code'=>$code,'message'=>$message,'data'=>$data);header("Content-Type:text/xml");//將頭資訊轉換為XML格式$xml="<?xml version='1.0' encoding='UTF-8'?>\n";$xml.="<root>\n";$xml.=self::xmlToEncode($result);$xml.="</root>";return $xml;}publicstaticfunction xmlToEncode($data){$xml=$attr="";foreach($data as $k=>$v){if(is_numeric($k)){$attr=" id='{$k}'";$k="item";}$xml.="<{$k}{$attr}>";$xml.=is_array($v)?self::xmlToEncode($v):$v;$xml.="</{$k}>";}return $xml;}實現:<?phprequire_once('./apitest.php');$arr=array('id'=>1,'name'=>'huwei','type'=>array(1,2,3));//echo Response::json(200,'資料返回成功',$arr);echo Response::xml(200,'資料返回成功',$arr);綜合通訊方法封裝 封裝方法const JSON="json";/***按綜合方式輸出通訊資料*@param integer $code 狀態代碼*@param string $message 提示資訊*@param array $data 資料*@param string $type 類型*return string*/publicstaticfunction show($code,$message='',$data=array(),$type==self::JSON){if(!is_numeric($code)){return'';}$result=array('code'=>$code,'message'=>$message,'data'=>$data,);if($type=='json'){returnself::json($code,$message,$data);}elseif($type=='array'){var_dump($result);}elseif($type=='xml'){returnself::xml($code,$message,$data);}else{//TODO}}調用方式:<?phprequire_once('./apitest.php');$arr=array('id'=>1,'name'=>'huwei','type'=>array(1,2,3));//echo Response::json(200,'資料返回成功',$arr);//echo Response::xml(200,'資料返回成功',$arr);echo Response::show(200,'資料返回成功',$arr,'array');

緩衝技術:

1.靜態緩衝

儲存在磁碟上的靜態檔案,用PHP產生的資料放入靜態快取檔案中

PHP操作緩衝(file.php)

產生緩衝、擷取緩衝、刪除緩衝

封裝類

<?phpclassFile{private $_dir;// 檔案路徑const EXT='.txt';//檔案尾碼publicfunction __construct(){$this->_dir=dirname(__FILE__).'\files\/';//擷取該項目同級目錄}publicfunction cacheData($key,$value='',$path=''){$filename=$this->_dir.$path.$key.self::EXT;if($value!==''){//將value值寫入緩衝if(is_null($value)){return@unlink($filename);}$dir=dirname($filename);if(!is_dir($dir)){mkdir($dir,0777);}return file_put_contents($filename,json_encode($value));//若成功返回位元組數,不然為false}if(!is_file($filename)){returnFalse;}else{return json_decode(file_get_contents($filename),true);}}}調用類<?php//require_once('./apitest.php');require_once('./file.php');$arr=array('id'=>1,'name'=>'huwei','type'=>array(1,2,3));//echo Response::json(200,'資料返回成功',$arr);//echo Response::xml(200,'資料返回成功',$arr);//echo Response::show(200,'資料返回成功',$arr,'array');$file=newFile();//echo $file->cacheData('index_cache',$arr); //寫入操作//var_dump($file->cacheData('index_cache')); //讀取操作echo $file->cacheData('index_cache',null);//刪除操作 2.Memcache,redis

設定快取作業

擷取快取作業

刪除快取作業

1.Memcache和Redis都是用來管理資料的

2.他們資料都是存放在記憶體上的

3.Redis可以定期將資料備份到磁碟(持久化)

4.Memchache只是簡單的key/value緩衝

5.Redis不僅僅支援簡單的k/v類型的資料,同時還提供list、set、hash等資料結構的儲存

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.