• 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. public $initphp_list = array('test', 'user'); //Action白名单
  7. public $isRest = array('user');
  8. //请求index.php?c=index&a=user接口,通过CURL的不同请求状态
  9. public function run() {
  10. $curl = $this->getLibrary('curl');
  11. $a = $curl->put('http://10.9.11.1/initphp_32/demo/www/?c=index&a=user', array('username' => 'hello'));
  12. print_r($a);
  13. }
  14. //当请求方式是GET方法的时候
  15. public function user_get() {
  16. echo 'get';
  17. }
  18. //POST方法
  19. public function user_post() {
  20. $username = $this->controller->get_gp('username', 'P');
  21. echo $username;
  22. echo 'get';
  23. }
  24. //PUT
  25. public function user_put() {
  26. $username = $this->controller->get_gp('username', 'U');
  27. echo $username;
  28. echo 'put';
  29. }
  30. //DEL
  31. public function user_del() {
  32. $username = $this->controller->get_gp('username', 'D');
  33. echo $username;
  34. echo 'del';
  35. }
  36. }

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

PHP REST架构简单设计的更多相关文章

  1. 基于Flume的美团日志收集系统(一)架构和设计

    美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收 ...

  2. 基于Flume的美团日志收集系统(一)架构和设计【转】

    美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收 ...

  3. 自己动手写处理器之第一阶段(3)——MIPS32指令集架构简单介绍

    将陆续上传本人写的新书<自己动手写处理器>(尚未出版).今天是第四篇.我尽量每周四篇 1.4 MIPS32指令集架构简单介绍 本书设计的处理器遵循MIPS32 Release 1架构,所以 ...

  4. Micro 架构与设计

    Micro 架构与设计 翻译自 Micro architecture & design patterns for microservices 注: 原文作者即 Micro 框架的开发者. 过去 ...

  5. Android存储系统的架构与设计

    一.概述 本文讲述Android存储系统的架构与设计,基于Android 6.0的源码,涉及到最为核心的便是MountService和Vold这两个模块以及之间的交互.为了缩减篇幅,只展示部分核心代码 ...

  6. Java互联网架构-直播互动平台高并发分布式架构应用设计

    概述 网页HTML 静态化: 其实大家都知道网页静态化,效率最高,消耗最小的就是纯静态化的 html 页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法, ...

  7. 转:基于Flume的美团日志收集系统(一)架构和设计

    美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收 ...

  8. delphi 三层架构简单例子(经测试成功)

    delphi 三层架构简单例子(经测试成功) 转载 2013年12月19日 09:48:57 1100 所谓三层: (1) 客户端 (2) 服务器端 (3) 数据库 在数据访问时,使得客户端必须通过服 ...

  9. openstack架构简单介绍J版(更新中)

    title : OPENSTACK架构简单介绍 openstack的发展及历史 openstack是什么? OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算‎软件,以A ...

随机推荐

  1. java程序中没有错,但是项目上面显示一个红叉的解决办法

    错误信息: 报Description  Resource Path Location Type Java compiler level does not match the version of th ...

  2. 如何实现jenkins的多平台任务同时执行

    如果需要我们的程序在多个平台(linux.mac.window)同时执行,该如何操作 1.首先需要构建一个“多配置项目” 2.配置项目在过个平台上运行

  3. IOS开发错误

    After modifying system headers, please delete the module cache at '/Users/XXX/Library/Developer/Xcod ...

  4. Druid对比Redshift

    Redshift 内部使用了亚马逊取得了授权的ParAccel 实时注入数据 抛开可能的性能不同, 有功能性的不同 Druid 适合分析大数据量的流式数据, 也能够实时加载和聚合数据一般来讲, 传统的 ...

  5. PHP-时间小结

    //获得本周(本天)时间戳的起始和结束//本周星期一时间戳$monday = mktime(0, 0, 0, date("m",strtotime("last Monda ...

  6. 切换样式.toggleClass()

    切换样式.toggleClass() 在做某些效果的时候,可能会针对同一节点的某一个样式不断的切换,也就是addClass与removeClass的互斥切换,比如隔行换色效果 jQuery提供一个to ...

  7. java中的序列化和反序列化学习笔记

    须要序列化的Person类: package cn.itcast_07; import java.io.Serializable; /* * NotSerializableException:未序列化 ...

  8. escape(s, t)函数的实现

    https://item.taobao.com/item.htm? spm=686.1000925.0.0.9TTLHO&id=535006878999 <span style=&quo ...

  9. JMeter 十:录制脚本--使用bodboy

    1. 下载bodboy 下载地址:http://www.badboy.com.au/download 这里填写完基本信息,点击下方的Continue即可跳转到下载页面. 任选一个version,点击后 ...

  10. RxJava2.0教程

    尝试在新的项目中,引用一些流行的优秀的开源框架,在简书上偶然发现一篇很棒的写RxJava 2.0的帖子,个人认为非常适合Android开发者,你可以先知道怎么使用,然后再弄清楚里面做了哪些事情,例如可 ...