PHP REST API路由

PHP REST API路由,php,api,rest,routing,Php,Api,Rest,Routing,我一直在研究API,并为我们正在进行的项目开发RESTAPI API只接受JSON格式的一个源的连接,我理解这一点很好 如果我理解了大部分所说的内容,但是我不理解下面的第三个代码示例,以及路由信息将去哪里 他们提供的例子是: $data = RestUtils::processRequest(); switch($data->getMethod) { case 'get': // retrieve a list of users break;

我一直在研究API,并为我们正在进行的项目开发RESTAPI

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类,但是没有什么是很小的,并且按照tin上的说明去做,所有的事情似乎都在上面做路由+2000其他的事情

我现在有了这个项目所需的所有类,它们的名称为我希望从URI访问它们,即:

/数据/用户 /数据/用户/1 /散列/用户 /hash/users/1 /put/users/1?json={data}

因此,所有这些都应该使用
users
类,然后使用其中一个数据、散列或put方法,将其后的任何附加内容作为参数传递到方法中

如果有人能解释一下钻头是如何工作的,那将是一个巨大的帮助


谢谢:)

从一开始,您指出的网站似乎没有路由器或调度器。有很多PHP5框架,包括路由和/或分派或一些描述。()

路由器是一个有预定义路由列表的类,这些路由可能非常基本,也可能非常复杂,这取决于您想要做什么。好好休息一下会是这样的:

:module/:controller/:params
然后路由器将根据HTTP请求(GET、POST、PUT、DELETE、OPTIONS)路由到正确的操作


在您的情况下,您将需要一个重定向规则来将请求发送到类似这样的地方 index.php?user=id。然后您可以处理get请求

我发现php REST体系结构(包括路由)的最佳解决方案是:


谢谢你,伙计,这让我对我需要调查的事情有了一点了解。我已经在原稿中添加了一个更新,不确定您是否可以在该部分添加任何灯光?我不久前写的这篇文章可能足够简短,可以完全理解。它完成RESTAPI需要完成的所有步骤,包括路由。
public function getAction($id) {
    // Load item $id
}