L'API est une interface d'appel laissée par le système d'exploitation au programme d'application. Le programme d'application appelle l'API du système d'exploitation pour amener le système d'exploitation à exécuter les commandes (actions) du programme d'application. Cet article partage principalement avec vous des exemples d’interface API PHP, dans l’espoir d’aider tout le monde.
PHP génère des données JSON
Méthode json_encode ($value)
(response.php et testapi.php)
Format standard de communication :
code d'état code message d'invite informations données renvoyées
Comment JSON encapsule la méthode de données de communication
Classe de réponse
<?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; } }
Exemple utilisant
<?php require_once('./apitest.php'); $arr=array( 'id'=>1, 'name'=>'huwei', ); Response::json(200,'数据返回成功',$arr);
PHP pour générer des données XML
1. Assembler des chaînes
2. Utiliser les classes système
DomDocument
XMLWriter
SimpleXML
Interface de communication XML d'encapsulation
Méthode d'encapsulation
/** *按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');
Technologie de mise en cache :
1. Cache statique
Sauvegarde sur disque Statique fichiers, utilisez PHP pour générer des données dans des fichiers de cache statiques
Cache d'opération PHP (file.php)
Générer du cache, obtenir du cache, supprimer le cache
Classe d'encapsulation
<?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
Définir l'opération de cache
Obtenir l'opération de cache
Supprimer l'opération de cache
1. Memcache et Redis sont utilisés pour gérer les données
. 🎜>
2. Leurs données sont stockées en mémoire 3 Redis peut régulièrement sauvegarder les données sur le disque (persistance) 4. Memchache n'est qu'un simple cache clé/valeur<.>5.Redis prend non seulement en charge les données simples de type k/v, mais fournit également le stockage de structures de données telles que la liste, l'ensemble, le hachage, etc.
Recommandations associées :
Partage de code d'interface d'API de développement PHP
Exemple de code de données de sortie d'interface PHPAPI au format JSON
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!