开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Tp3.2 RESTFul 根据地区查询生成xml、html、json的Api接口的天气信息

简介:
+关注继续查看

1、在控制器页面:

<?php
// 本类由系统自动生成,仅供测试用途
namespace Home\Controller;
use Think\Controller\RestController;
class IndexController extends RestController{
    //显示页面
    public function index(){
       //print_r($this->_method);die;
        $Name = $_GET['data'];
        if(!preg_match("/^[A-Za-z]+$/",$Name)){
            echo "输入有误";die;
        }
        if(__EXT__ == ''){
            $type="html";
        }else{
            $type=__EXT__;
        }
        switch ($this->_method){   
            case 'get': // get请求处理代码          
            if (__EXT__ == 'html'){
                $html = $this->sel($Name);
                $this->response($html,'html');
                //echo "html";
            }elseif(__EXT__  == 'xml'){ 
                $xml = $this->sel($Name);
                $this->response($xml,'xml');
                
            }elseif(__EXT__  == 'json'){
                $json = $this->sel($Name);
                $this->response($json,'json');
            }           
            break;
            case 'put': // put请求处理代码          
            break;      
            case 'post': // post请求处理代码           
            break;     
        }   
    }
    public function sel($name){
        //print_r($name);die;
        $sheng = M('sheng');  //实例化表
        $city = M('city');
        $xian = M('xian');
        if($name=="china"){
            $data=$sheng->select();
            return $data;
        }else{
            $s_id =$sheng->getfieldbypyname($name,'id');  //获取查询省id
            //print_r($s_id);die;
            //判断获取省id是否为空,如果不为空查询获取省的下级的关联id的相关数据
            if(!$s_id==""){
                $c_id['p_id']=$s_id;    
                $datas = $city->where($c_id)->select(); 
                //print_r($datas);die;
                return $datas;
            }else{
                $city_id =$city->getfieldbypyname($name,'id'); //获取市id  getFieldBy 根据字段查询并返回某个字段的值 例如,getFieldByName 
                //print_r($city_id);die;
                if(!$city_id==""){
                    $x_id['p_id']=$city_id;
                    $data1 = $xian->where($x_id)->select();
                    //print_r($data1);
                    return $data1;
                }else{
                    $xian_id = $city_id =$xian->getfieldbypyname($name,'id');
                    //print_r($xian_id);die;
                    if(!$xian_id==""){
                        $cx_id['id']=$xian_id;
                        //print_r($cx_id);die;
                        $data2 = $xian->where($cx_id)->select();
                        //print_r($data2);die;
                        return $data2;
                    }else{
                        echo "没有该地区!";
                    }
                }
            }
        }
    }
}

2、配置文件:

<?php
return array(
    //'配置项'=>'配置值'
/* 数据库设置 */
    'DB_TYPE'               => 'mysql',     // 数据库类型
    'DB_HOST'               => '127.0.0.1', // 服务器地址
    'DB_NAME'               => 'news',          // 数据库名
    'DB_USER'               => 'root',      // 用户名
    'DB_PWD'                => '',          // 密码
    'DB_PORT'               => '3306',        // 端口

    'URL_ROUTER_ON'   => true, //开启路由
    'URL_ROUTE_RULES'=>array(    
         'Index/:data' => array('Index/index', 'status=1'),
    ),

);
?>







      本文转自噼里啪啦啦 51CTO博客,原文链接:http://blog.51cto.com/pilipala/1651561如需转载请自行联系原作者





版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
gRPC(八)生态 grpc-gateway 应用:同一个服务端支持Rpc和Restful Api
etcd v3 改用 gRPC 后为了兼容原来的 API,同时要提供 HTTP/JSON 方式的API,为了满足这个需求,要么开发两套 API,要么实现一种转换机制,所以grpc-gateway诞生了。
0 0
开发 k8s 管理平台 - k8sailor 05. RESTFul API 接口规范与请求应答约定
开发 k8s 管理平台 - k8sailor 05. RESTFul API 接口规范与请求应答约定
0 0
软件测试|Spring Boot 的 RESTful API 设计与实现
软件测试|Spring Boot 的 RESTful API 设计与实现
0 0
RESTful API 设计指南
RESTful API 设计指南
0 0
WEB 开发中,使用 JSON-RPC 好,还是 RESTful API 好?
WEB 开发中,使用 JSON-RPC 好,还是 RESTful API 好?
0 0
RESTful API|学习笔记
快速学习RESTful API
0 0
RESTful规范Api最佳设计实践
`RESTful`是目前比较流行的接口路径设计规范,基于HTTP,一般使用JSON方式定义,通过不同HttpMethod来定义对应接口的资源动作,如:新增(POST)、删除(DELETE)、更新(PUT、PATCH)、查询(GET)等。
0 0
Go语言:RESTful API 服务,急速入门!
REST即表述性状态传递(英文:Representational State Transfer,简称REST),它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
数据资源的基础设施API总线
立即下载
API 网关实践
立即下载
API PLAYBOOK
立即下载