微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP REST API路由

我一直在研究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访问它们,即:

/数据/用户
/数据/使用者/ 1
/散列/用户
/散列/用户/ 1
/放/用户/ 1?JSON = {}数据

因此所有这些都应该使用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
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐