[英]PHP REST API Routing
我一直在研究API並為我們正在開發的項目開發REST API。
API只接受來自JSON格式的一個源的連接,我理解這一點。
如果理解了所說的大部分內容,但是我不理解第三個代碼示例,以及路由信息的位置。
他們提供的例子是:
$data = RestUtils::processRequest();
switch($data->getMethod)
{
case 'get':
// retrieve a list of users
break;
case 'post':
$user = new User();
$user->setFirstName($data->getData()->first_name); // just for example, this should be done cleaner
// and so on...
$user->save();
break;
// etc, etc, etc...
}
我不確定的部分是如何接受原始請求,即/ get / user / 1 - 如何將其路由到腳本的正確部分。
如果有另一個SO問題(我已經搜索了很長時間)或任何進一步的教育示例,請指出我正確的方向。
更新
我已經找到了一些路由PHP類,但沒有什么只是小而且做了它在錫上的說法,一切似乎都在做路由+ 2000其他事情。
我現在擁有這個項目所需的所有類,因為我希望從URI訪問它們,即:
/ data / users / data / users / 1 / hash / users / hash / users / 1 / put / users / 1?json = {data}
因此所有這些都應該使用users
類,然后將data,hash或put方法之一傳遞給方法作為參數。
如果有人能夠解釋這一點是如何工作的那將是一個巨大的幫助!
謝謝 :)
從一開始,您看起來就像您指出的網站不包括路由器或調度員。 有很多PHP5框架,包括路由和/或調度或一些描述。 ( http://en.wikipedia.org/wiki/Comparison_of_Web_application_frameworks#PHP )
路由器將是一個具有預定義路由列表的類,這些路由可能非常基本或非常復雜,所有這些都取決於您想要做的事情。 一個好的REST路由器IMO看起來像這樣:
:module/:controller/:params
然后路由器將根據HTTP請求(GET,POST,PUT,DELETE,OPTIONS)路由到正確的操作
public function getAction($id) {
// Load item $id
}
在您的情況下,您將需要一個重定向規則,該規則將請求發送到類似index.php?user = id的內容。 然后您可以處理get請求。
我發現的PHP REST架構(包括路由)的最佳解決方案是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.