zoukankan      html  css  js  c++  java
  • PHP REST架构简单设计

    • REST是什么?

    REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

    • REST的特点:
    1. 网络上的所有事物都被抽象为资源(resource)
    2. 每个资源对应一个唯一的资源标识(resource identifier)
    3. 通过通用的连接器接口(generic connector interface)对资源进行操作;
    4. 对资源的各种操作不会改变资源标识;
    5. 所有的操作都是无状态的(stateless)。
    • REST的通俗说明:
    1. REST是通过HTTP请求的状态,去服务器端请求不同的服务方法,但是请求地址是相同的。比如请求一个http://xxxxx.com/user/的接口为例
    2. 例如POST方法,一般提供数据新增的功能,如果客户端是POST方法,请求上面的接口,那就是告诉服务器,是新增的操作。
    3. 例如GET方法,一般是获取数据,因为GET方法是默认的方法,不会对数据造成改变,所以一般是获取数据,通过GET方法请求上面的接口,就是获取用户数据
    4. 例如PUT方法,一般是更新操作,告诉服务器,更新用户信息。
    5. 例如DEL方法,一般是删除操作。
    6. 通过HTTP的4中请求方法,就可以在同一个接口地址上产生四种不同的请求,对接口的扩展性提供了巨大的帮助。
    • REST PHP端代码简单实现:
    1. /** 
    2.  * DEMO 
    3.  * @author zhuli 
    4.  */  
    5. class indexController extends Controller {  
    6.       
    7.    public $initphp_list = array('test''user'); //Action白名单  
    8.     public $isRest = array('user');  
    9.     //请求index.php?c=index&a=user接口,通过CURL的不同请求状态  
    10.     public function run() {   
    11.         $curl = $this->getLibrary('curl');  
    12.         $a = $curl->put('http://10.9.11.1/initphp_32/demo/www/?c=index&a=user'array('username' => 'hello'));  
    13.         print_r($a);  
    14.     }  
    15.     //当请求方式是GET方法的时候  
    16.     public function user_get() {  
    17.         echo 'get';  
    18.     }  
    19.     //POST方法  
    20.     public function user_post() {  
    21.         $username = $this->controller->get_gp('username''P');  
    22.         echo $username;  
    23.         echo 'get';  
    24.     }  
    25.     //PUT  
    26.     public function user_put() {  
    27.         $username = $this->controller->get_gp('username''U');  
    28.         echo $username;  
    29.         echo 'put';  
    30.     }  
    31.     //DEL  
    32.     public function user_del() {  
    33.         $username = $this->controller->get_gp('username''D');  
    34.         echo $username;  
    35.         echo 'del';  
    36.     }  
    37. }  



    参考:百度,InitPHP框架REST实现

  • 相关阅读:
    Leetcode第七题——数的反转
    Leetcode第六题——横向遍历ZIGZAG数组
    26 将查询结果插入到一张表中?
    25 表的复制
    24 insert 语句插入数据
    23 创建表
    22 limit(重点中的重点,以后分页查询全靠它了。)
    21 union(可以将查询结果集相加
    20 子查询
    19 连接查询
  • 原文地址:https://www.cnblogs.com/Alight/p/3531935.html
Copyright © 2011-2022 走看看