api返回数据
控制器里调用方法
<?php
namespace app\admin\controller;
use app\admin\controller\Base;
class Index extends Base
{
public function index(){
$data = [
'id'=>1,
'name'=>'haima',
'type'=>array(4,5,6),
'type3'=>array(4,5,6,array("a","c","e")),
];
// return Json('1','ok22',$data);
show(200,'ok',$data);
}
}
封装的common.php函数
/**
* ajax数据json数据返回
* @param [int] $code [结果码 0:正常 1:错误 /4**数据问题/5**服务器问题]
* @param [string] $msg [返回的提示信息]
* @param [array] $data [返回的数据]
* @return [string] [最终的json数据]
*/
function Json($code, $msg = '', $data = []) {
if(!is_numeric($code)) die('返回的code状态码必需是整型');
/*********** 组合数据 ***********/
$result = [
'code' => $code,
'msg' => $msg,
'data' => $data
];
/*********** 返回信息并终止脚本 ***********/
echo json_encode($result);die;
}
/**
* 作用:返回xml数据
*/
function xmlEncode($code,$msg,$data = [])
{
if(!is_numeric($code)) return '';
$result = [
'code' => $code,
'msg' => $msg,
'data' => $data
];
header("Content-Type: text/xml");
$xml = "<?xml version='1.0' encoding='UTF-8'?>\n";
$xml .= "<root>\n";
$xml .= xmlToEncde($data);
$xml.="</root>";
echo $xml;
}
function xmlToEncde($result)
{
$xml = $attr = "";
foreach ($result as $key=>$val)
{
if(is_numeric($key)){
$attr = " id='{$key}'";
$key = "item";
}
$xml .="<{$key}{$attr}>";
$xml .= is_array($val)?xmlToEncde($val):$val;
$xml .="</{$key}>\n";
}
return $xml;
}
function dd($var)
{
echo '<pre>';
dump($var);
echo '</pre>';
die;
}
效果:
[Haima的博客]
http://www.cnblogs.com/haima/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构