现在的位置: 首页 > 综合 > 正文

PHP REST架构简单设计

2013年12月03日 ⁄ 综合 ⁄ 共 1317字 ⁄ 字号 评论关闭
  • 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端代码简单实现:
/**
 * DEMO
 * @author zhuli
 */
class indexController extends Controller {
    
   public $initphp_list = array('test', 'user'); //Action白名单
    public $isRest = array('user');
    //请求index.php?c=index&a=user接口,通过CURL的不同请求状态
    public function run() { 
        $curl = $this->getLibrary('curl');
        $a = $curl->put('http://10.9.11.1/initphp_32/demo/www/?c=index&a=user', array('username' => 'hello'));
        print_r($a);
    }
    //当请求方式是GET方法的时候
    public function user_get() {
        echo 'get';
    }
    //POST方法
    public function user_post() {
        $username = $this->controller->get_gp('username', 'P');
        echo $username;
        echo 'get';
    }
    //PUT
    public function user_put() {
        $username = $this->controller->get_gp('username', 'U');
        echo $username;
        echo 'put';
    }
    //DEL
    public function user_del() {
        $username = $this->controller->get_gp('username', 'D');
        echo $username;
        echo 'del';
    }
}

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

抱歉!评论已关闭.