簡體   English   中英

PHP REST API路由

[英]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架構(包括路由)的最佳解決方案是:

http://peej.github.com/tonic/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM