zoukankan      html  css  js  c++  java
  • php 使用 restler 框架构建 restfull api

    php 使用 restler 框架构建 restfull api 

    restler 轻量级,小巧,构建restfull api非常方便!

    官网:http://restler3.luracast.com/

    目前最后的是3.0版本,我测试使用的是2.2版本;

    一:安装restler2

    1. 下载 https://github.com/Luracast/Restler/tree/2.2.0

    2. exmple目录下放的是例子

    3. 把restler 目录的所有文件放到你的web服务下;

    二:开始创建restfull api

    1. index.php

    <?php
    
    	//引入restler库
        require_once './restler/restler.php';
    
        $r = new Restler();
        //配置支持的返回数据格式,json,xml等
    	$r->setSupportedFormats('JsonFormat');
    	//接口列表文件
    	$r->addAPIClass('api');
    	$r->handle();
        
    
    ?>
    

    2. 主接口文件 api.php, 上述1中的api表示的类名api

    <?php
    	
    	//工具类
    	include 'util.php';
    
    	class api
    	{
    
    		//get 请求 /url/xml
    		public function getXml($deviceType)
    		{
    			if (!$deviceType) {
    				return array('xml' =>"error ");
    			}
    
    			if ($deviceType=='1') {
    				
    				//return ios
    				return array('xml' =>"ios");
    			}
    			elseif ($deviceType=='2') {
    				
    				//return android
    				return array('xml' =>"android");
    			}
    
    			elseif ($deviceType=='3') {
    				//return pc
    				return array('xml' =>"pc");
    			}
    
    			else
    			{
    				return array('xml' =>"none support deviceType");
    			}
    
    		}
    
    		//post 请求,
    		public function postXXL($dev)
    		{
    			return returnXML($dev);
    		}
    
    
    		//当类名与文件名相同时,可以不用 include 该类
    		public function getAAA()
    		{
    			$bd = new Baidu();
    			return $ret = array('site' => "baidu.com", );;
    		}
    
    	}
    	
    ?>
    

    三:访问测试

    1. api.php中所有public的方法,就是请求的方法,get或post 以方法名的前关键字为准;

     如getXml方法,测试请求方式为

      get http://127.0.0.1/tp/api/xml.josn

      或 http://127.0.0.1/tp/api/xml/1.json

      或http://127.0.0.1/tp/api/xml?deviceType=1

      后面的1对应getXml的请求字段 $deviceType

    2. 其他函数同上

    3. 如果要同时支持xml

      如http://127.0.0.1/tp/api/xml/1.xml

        http://127.0.0.1/tp/api/xml/1.json

     在index.php配置

    $r->setSupportedFormats('JsonFormat', 'XmlFormat');

    更多:http://restler3.luracast.com/examples/index.html

  • 相关阅读:
    前端之JQuery:JQuery文档操作
    前端之JQuery:JQuery属性操作
    前端之JQuery:JQuery基本语法
    前端之JavaScript:JS之DOM对象三
    前端之JavaScript:JS之DOM对象二
    初始django
    mysql 索引
    多表查询
    单表查询
    外键的三种形式
  • 原文地址:https://www.cnblogs.com/cocoajin/p/5800168.html
Copyright © 2011-2022 走看看