【问题标题】:PHP create a centralized dispatcher for REST like apiPHP 像 api 一样为 REST 创建一个集中式调度程序
【发布时间】:2012-03-25 07:58:31
【问题描述】:

嗨,我不确定这是否与宁静有关,我认为是,但如果我错了,请纠正我。 所以基本上我希望我的服务器(它是用 PHP 编写的)响应不同的 api 请求,例如

 http://www.myweb.com/api/content/video/get?id=1 which will return a json object that has information regarding of a video of id=1

但是,我也可以调用以下 api

 http://www.myweb.com/api/content/music/get?name=biever

我想创建一个集中式调度程序,一个位于服务器 api 目录中的 php 文件,因此,每当在 RESTful 链接中出现 api 的位置发出请求(在上面的两个示例中),它都应该“拦截” ' 这些请求,并检查路径的其余部分以相应地调用该函数。比如

在 api 目录的 controller.php 中 它会看到,哦,你正在调用内容/视频,我会做一些预处理(例如,添加视频名称或其他内容)然后将方法调用指向内容/视频/get

我如何在 php 中确保所有请求都首先通过我的控制器文件?

【问题讨论】:

    标签: php web-services rest dispatcher restful-url


    【解决方案1】:

    默认情况下,URL 会映射到文件系统中的 PHP 文件。你无法控制这个in PHP。当你的 PHP 运行时,你已经太晚了。因此,您需要考虑在网络服务器级别重写 URL。如果您使用的是 Apache,请查看 mod_rewrite。

    【讨论】:

    • 感谢克里斯的回答。那么什么是类似 REST 的方法?如果我没有像我上面提到的集中式调度程序,它仍然算作 REST 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多