2009-11-06 64 views
1

我想編寫一個處理來自遠程客戶端的數據請求的輕量級PHP服務器。返回的數據是表格式(就像從CSV文件或數據庫表中讀取的數據一樣)。 「問題」是我可能會返回潛在的數十萬行數據 - 列寬在10-15之間(取決於請求的數據類型)。輕量級RESTful PHP服務器

總之,返回的數據可能是巨大 - 並試圖以節省帶寬,並且也增加了傳輸的速度,我想對數據進行壓縮(也許選擇性地加密它,而我們在它)然後將其發送回客戶端。

我不知道如何編寫服務器端腳本來處理請求(併發送數據或錯誤代碼)。

爲了簡單起見,讓我們假設我讀平面文件中的數據,使用的fopen,我能有這樣的事情:

<?php 
    // extract request variables and determine action required based on REQUEST params 
    // handle request (fetch requested data) 
    // if no error then return compressed (and encrypted?) data 
    // else if error return error code 
?> 

我不是很熟悉PHP,可能有人請幫助我「充實」這個存根代碼多一點(特別是當我們通過HTTP頭返回壓縮數據(或錯誤代碼)等)。

最後但並非最不重要的一點,我必須指出客戶端可能在另一個平臺和另一種語言(我將用C++編寫客戶端)上運行,所以我想使用PLAIN ASCI文本數據傳輸(與XML非常詳細,需要解析另一端)相反。

+1

出於好奇,你打算爲這個問題設置一個獎勵,還是應該接受我的回答?問候。 – 2009-11-15 02:57:08

回答

2

我可能會建議你爲你的REST服務器使用ZendFramework。基本慣例已經爲您執行,這將允許您專注於您的具體要求(數據,文本,壓縮等)。

這裏是Zend的REST的參考手冊頁: http://framework.zend.com/manual/en/zend.rest.server.html

而且,這裏有一個博客帖子我以我個人的經驗,使用Zend REST寫道: http://ajcoon.blogspot.com/2009/09/rest-services-supporting-xml-and-json.html

即使我用它來恢復XML和JSON,人們可以輕鬆定義他們自己的視圖,爲他們的數據使用不同的編碼/格式。