PHP 搭建基于 CI 框架的 REST 服务架构
本帖最后由 qzqrst 于 2010-1-12 18:14 编辑
最近两年,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
访问结果:
<xml>
<item>
<id>1</id>
<name>Some Guy</name>
<email>example1@example.com</email>
</item>
<item>
<id>2</id>
<name>rson Face</name>
评论4