(笔记)使用扩展的CI框架实现RESTful框架

    REST(表现层状态转化) 是一种原则,而符合这种原则的架构就称之为 RESTful架构


   表现:

   通过 get /library/1/book/2 这种风格的URI来访问控制器并传递参数
   
   其中get是不出现在URI中的,而是一种操作方式(get、post、delete、put),控制器通过判断请求的方式,来决定调用的方法


   所以 get /book/1 和 post /book/1 ,虽然访问的URL完全一样,但是根据请求方式的不同,实际上调用的是控制器内不同的方法




   实现:


   使用 REST_Controller 扩展 CI_Controller


   通过路由重写,可以使用非正常格式的 URL 访问对应的对象方法


   通过 REST_Controller 判断请求的类型,并将URL中的参数交给相应的控制器处理


   如果通过 GET 发送请求到URL www.test.com/index.php/user/1,
   那么会自动调用 User 控制器中的 index_get($id) 方法,并将参数 1 传递给 $id


   如果通过 GET 发送请求到URL www.test.com/index.php/user/book/name/foo/id/1
   那么会自动调用 User 控制器中的 login_get() 方法,通过 $this->get('name') 和 $this->get('id') 来分别获取到参数 foo 和 1


   如果通过 POST 发送请求到URL www.test.com/index.php/user/login
   那么会自动调用 User 控制器的 login_post() 方法,通过形如 $this->post('name') 分别获取对应的参数


   PUT\DELETE  同理




   返回数据:



   控制器中相应的函数经过一系列处理后,需要返回包含足够信息的json格式字符串(根据具体需求)


   通过形如下面的方法返回json格式的字符串:
		$data = ['name'=>'','age'=>''];
		$this->response($data);


codeigniter-restserver项目地址:https://github.com/chriskacerguis/codeigniter-restserver


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值