• 技术文章 >后端开发 >PHP问题

    php封装app的方法

    藏色散人藏色散人2021-11-30 09:54:28原创1279

    php封装app的方法:1、创建json.php文件和demo.php文件;2、在php中用数组表示JSON格式数据;3、将数组封闭成JSON数据即可。

    php入门到就业线上直播课:进入学习

    本文操作环境:windows7系统、PHP7.4版、DELL G3电脑

    使用php封装APP接口

    php封装APP接口

    我们先来介绍Json的封装方法

    json_encode函数传递中文的话,输出后是乱码的,针对这个问题我觉得有必要做一个解释:

    其实json_encode对中文那不是乱码,只是json_encode会将中文转换为unicode编码,所以输出后是这个编码,但不影响我们使用,我们json_decode后就是正常的值了,但如果你想在输出json_encode的时候也是中文的话,其实有一个办法,如下:

    echo urldecode(json_encode(urlencode("JSON中文输出解决方案")));

    以下上封装接口的Demo:

    <?php  
      
    //服务端 json.php  
    //php中用数组表示JSON格式数据  
    header("Content-type:text/html;charset=utf-8");  
    $arr = array(    
        'code' => 200,  
        'message' => '数据返回成功',  
        'data' => array(    
            'name' =>'bawei',    
            'email' =>'www.bawei@qq,com',    
        ),  
    );   
    echo json_encode($arr); //将数组封闭成JSON数据 主要函数json_encode;  
    ?>

    来看客户端的代码:

    //客户端 demo.php  
    <?php  
    header("Content-type:text/html;charset=utf-8");  
      $url = "http://localhost/syphp/app.php";  //URL取绝对路径   
      $tranlatestr = file_get_contents($url);  //获得URL文档 file_get_contents  
      $bb = json_decode($tranlatestr);  //将JSON数据转换成数组  
      echo $bb->data->website;    //取得数组内容字段    
    ?>

    相比较起XML封装接口,Json的数据转换比XML简单了许多 仅此一个函数;

    但是可读性来说,XML看起来更直观一些,而Json看起来比较乱,费时间;

    以上上Json的 下面来弄一个XML的!

    方法:php生成XML数据;

    如何生成XML数据呢?

    以下两种方法可以实现--> 1.组装成XML字符串 2.使用系统类 如:DomDocument、XMLWriter、SimpleXML

    先直接上Demo!

    <?php
        class Response
        {
            
            /**
             * 按xml方式输出通信数据
             * @param int $code 状态码
             * @param string $message 提示信息
             * @param array $data 数据
             * @return void
             */
            public static function xmlEncode($code,$message='',$data=array())
            {
                $r = '';
                if(!is_numeric($code)) $r = '';
                $result = array(
                    'code'=>$code,
                    'message'=>$message,
                    'data'=>$data,
                );
     
                header("Content-Type:text/xml");
                $xml = "<?xml version='1.0' encoding='UTF-8'?>\n";
                $xml .= "<root>\n";
                $xml .= self::xmlToEncode($result);
                $xml .= "</root>";
                $r = $xml;
                echo $r;
            }
     
            public static function xmlToEncode($data)
            {
                $xml = $attr = "";
                foreach($data as $key=>$value)
                {
                    if(is_numeric($key))
                    {
                        $attr = "id='{$key}'";
                        $key = 'item';
                    }
                    $xml .= "<{$key} {$attr}>";
                    $xml .= is_array($value)?self::xmlToEncode($value):$value;
                    $xml .= "</{$key}>\n";
                }
                return $xml;
            }
        }
     
    ?>


    推荐学习:《PHP视频教程

    以上就是php封装app的方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php app
    上一篇:百度怎么设置php.ini 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• php中传值与传址的区别是什么• php fgetc()和fgets()间有什么区别• php怎么查询目录下的文件• 百度怎么设置php.ini
    1/1

    PHP中文网