PHP搭建基于CodeIgniter框架的服务

  最近两年,MySpace、Google、Yahoo、Facebook、淘宝和人人网这些互联网企业,都构建了自己的开放平台,打破了“我的地盘我做主”一类的网站建设常规思维,以开放的姿态,构建网络交互的生态圈。而这些开放平台几乎都采用了REST的服务架构。

  什么是REST架构?

  REST(Representational State Transfer)是一种轻量级的WebService架构风格,其实现和操作明显比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。

  REST架构遵循了CRUD原则,CRUD原则对于资源只需要四种行为:Create(创建)、Read(读取)、Update(更新)和 Delete(删除)就可以完成对其操作和处理。这四个操作是一种原子操作,即一种无法再分的操作,通过它们可以构造复杂的操作过程,正如数学上四则运算是数字的最基本的运算一样。

  REST架构让人们真正理解我们的网络协议HTTP本来面貌,对资源的操作包括获取、创建、修改和删除资源的操作正好对应HTTP协议提供的GET、 POST、PUT和DELETE方法,因此REST把HTTP对一个URL资源的操作限制在GET、POST、PUT和DELETE这四个之内。这种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

  PHP搭建基于CodeIgniter框架的REST服务架构

  因为最近我们的项目采用了PHP搭建了基于CodeIgniter框架的REST架构,所以我把搭建的经验和代码分享给大家。示例代码见附件。

  1、REST服务端访问:

  http://localhost/rest/index.php/Example_api/users

  http://www.douban.com/note/452296816/

  访问结果:

  <xml>

  <item>

  <id>1</id>

  <name>Some Guy</name>

  <email>[email protected]</email>

  </item>

  <item>

  <id>2</id>

  <name>rson Face</name>

  <email>[email protected]</email>

  </item>

  <item>

  <id>3</id>

  <name>Scotty</name>

  <email>[email protected]</email>

  </item>

  </xml>

  服务端输出的数据格式包括xml、json、html、csv等,默认为xml,可以根据format的参数设置来控制数据输出格式

  http://localhost/rest/index.php/Example_api/users/format/json

  http://loliss.lofter.com/

  2、REST客户端数据读取:

  http://localhost/rest/index.php/Rest_test/user_list

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。