API is a calling interface left by the operating system to the application program. The application program causes the operating system to execute the application program's commands (actions) by calling the operating system's API. This article mainly shares with you PHP API interface examples, hoping to help everyone.
PHP generates JSON data
json_encode($value) method
(response.php and testapi.php)
Communication standard format:
code status code message prompt information data return data
How json encapsulates communication data method
Response class
<?php classResponse{ /** *按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; } }
Instance use
<?php require_once('./apitest.php'); $arr=array( 'id'=>1, 'name'=>'huwei', ); Response::json(200,'数据返回成功',$arr);
PHP to generate XML data
1. Assembly String
2. Use system classes
DomDocument
XMLWriter
SimpleXML
to encapsulate the XML communication interface
Encapsulation method
/** *按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; } 实现: <?php require_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 } } 调用方式: <?php require_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');
Caching technology:
1. Static cache
Static files saved on disk, using PHP The generated data is put into the static cache file
PHP operation cache (file.php)
Generate cache, obtain cache, delete cache
Encapsulation Class
<?php classFile{ 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
Set cache operation
Get cache operation
Delete cache operation
1.Memcache and Redis are both used to manage data
2. Their data is stored in memory
3. Redis can regularly back up data to disk (persistence)
4. Memchache is just a simple key/value cache
5.Redis not only supports simple k/v type data, but also provides storage of data structures such as list, set, hash, etc.
Related recommendations:
PHP Develop API interface code sharing
PHPAPI interface output json format data sample code
Synchronous recommended operation API interface case analysis implemented by PHP
The above is the detailed content of PHP about API interface example sharing. For more information, please follow other related articles on the PHP Chinese website!