2010-04-22 86 views
4

我被要求帮助朋友的公司启动一个Web应用程序。我的时间非常有限,在一种情况下我不情愿地接受了这个请求。由于大部分逻辑都在后端进行,我建议我将完成后端只有,允许前端开发人员简单地与我的后端进行交互。PHP中最简单的RPC客户端方法

我打算在Java EE或Python(使用Pylons)中执行后端。这一点并不重要。我打算让我的后端完全准备好并进行单元测试,以便在我的工作完成后我的输入将不再需要。

我知道他们有一个PHP程序员,但据我所知他是一个真正的新手。我希望他能够以最简单的方式基本与我的后端服务进行交互,而不会让他“填塞”它。它基本上是一个仅限CRUD的应用程序。

我可以通过Web服务(如XML-RPC或SOAP)实现后端。即使是RESTful API也是可能的。

但是,我的主要目标是使完成“noob”的PHP程序员可以轻松接口而不会感到困惑。最好我不想跟他说话,因为我通常有一个非常忙碌的日程安排,做“支持电话”不是我愿意做的事情。我应该选择哪种方法?我欢迎任何建议和意见!

回答

5

我个人会选择一个REST API,可能带有JSON响应。对于简单的服务,SOAP和XML可能有点过分,即使是最新手的Web开发人员也理解访问基本URL的概念,即使他们没有理解REST的整体概念。有很多方法可以在PHP中使用URL,所以我相信他们能够提供一些东西,即使这是一个黑客工作而不是一个很好的客户端软件包。

我也可能选择JSON编码和解码,因为它通常相当简单,而XML解析可能会更艰巨。

不管你选择什么格式,我还会写出至少一些有关服务的基本文档。否则,你无法逃脱支持电话。您的目标消费者必须具有对他可用的远程操作的引用,或者发现这些操作的方法。它可能需要10分钟来准备好一些示例代码,而这10分钟可以为您节省大量电子邮件。

+0

REST上的+1,JSON上的+2,文档上的+3 ....现在我欠你5分... – Javier 2010-04-22 19:39:51

+0

好主意。我相信在这一个上使用RESTful API。至于基本文档,我们将有一个需要文档的截图和所有的模型,所以他不会出错。 至于JSON vs参数GET/POST查询字符串,我认为后者,我将不得不考虑它.. 谢谢! – 2010-04-22 19:40:41

2

Definitly去与休息般的实现,并返回查询字符串格式化输出。

只要记住,php会将数组变成像php这样的数组。

拿一个查询字符串为您的参数

输入: p1=v1&p2=v2....

输出: output1=var1&output[0]=var2;output[2]=var3

在PHP访问,这是再简单

<? 
    $request['myparam1'] = param; 
    ... 
    $webService ="http://path.to.service?".http_build_query($request); 

    parse_str(file_get_contents($webService),$response); 

    // response is now an array with you response parameters in it 
    // $response['responseParam1'], reponse['responseParam1'] etc 
?> 
+1

只需使用JSON就可以更容易且更具可预测性 – Javier 2010-04-22 19:41:11

+0

感谢Byron。我仍然坚持决定是否去parse_str和JSON。我必须给它一些好的想法。 – 2010-04-22 19:41:26

2

在那里,这样做。

Django中的后端,PHP中的前端由'我们做页面'承包商。我使用JSON掀起了一个类似REST的API,为他们提供了几行5行PHP函数,以访问我的服务作为键值存储。

经过几次错误的开始(他们尝试了一个设计和重定向的方案,而不是使用我发送的函数)后,他们得到了它,一切顺利。

+0

我想我现在决定采用JSON方式。 :) – 2010-04-22 19:45:03