适用于iPhone的PHP RESTful Web服务

时间:2012-02-28 10:26:50

标签: php iphone web-services zend-framework rest

我正在开发iPhone APP,还需要实现Web服务。 首先,我不是开发人员,从未在PHP,Objective-C,xCode中做过大事。 我的PHP知识也不是很好。但是,让我们从我的环境开始吧。

iPhone APP(xCode 4.2,iOS5),PHP Web服务,MySQL数据库

我正在研究WEB,大多数人倾向于REST而不是SOAP。我想我也看到了REST的优点(使用简单的HTTP动词(获取,发布,删除等等),但这不是主要观点......

我认为我了解REST架构的主要目标,并尝试使用URI和Verb Mapping创建一个小概念。这里只是一个简单的映射示例:

/location/{location_id}/product
/location/{location_id}/product/{product_id}

两者都是GET操作,他们应该让我获得单个产品或某个地点的所有产品。

使用这些函数,简单的PHP REST Web服务器会如何?

另一部分应该从iPhone实施用户身份验证。不知怎的,我需要存储用户会话,现在我不知道如何做到这一点。目标是,如果只有用户登录,他可以查看产品。

现在我也研究过Web,但找不到简单的逐步教程。 你知道任何有助于我实现目标的好教程吗? :)

很多人更喜欢使用像ZEND这样的PHP框架。这看起来很有趣,但它似乎是一个包含大量模块的大包。 有人确切知道使我的Web服务工作所需的模块吗?

2 个答案:

答案 0 :(得分:2)

这是一个非常好的教程,它使用了codeigniter框架,这使得学习曲线更加陡峭,但从长远来看,它会变得更加强大。

http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/

答案 1 :(得分:0)

如果你想以自定义的方式构建它,如果你想以JSON格式返回信息,特别是对于php5来说,这实际上非常容易,这些日子通常在主机中得到很好的支持。

基本上步骤是这样的:

  • 通过网址传入产品ID并使用GET检索,即service.php?product_id = 10
  • 查询数据库并返回
  • 中传递的产品ID的数据
  • 将返回的数据存储在数组中
  • 将标题内容类型设置为application / json
  • json_encode结果(json_encode

这样当你在浏览器中调用该url时,你会得到一个很好的JSON格式的数组,结果是key:value对方式。从iOS5开始,json解析器附带了框架(对于早期版本,SBJson是一个很好用的框架(SB JSON))