2010-04-22 88 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