PHP为REST类api创建一个集中式调度程序

PHP为REST类api创建一个集中式调度程序,php,web-services,rest,dispatcher,restful-url,Php,Web Services,Rest,Dispatcher,Restful Url,嗨,我不确定这是否与restful有关,我想是的,但如果我错了,请纠正我。 所以基本上我希望我的服务器,用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/cont

嗨,我不确定这是否与restful有关,我想是的,但如果我错了,请纠正我。 所以基本上我希望我的服务器,用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
我想创建一个集中式dispatcher,它是一个php文件,位于服务器的api目录中,因此每当在RESTful链接中出现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目录中的controller.php中 它将看到,哦,您正在调用内容/视频,我将进行一些预处理(例如,添加视频名称或其他内容),然后将方法调用定向到内容/视频/get


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

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

谢谢克里斯的回答。那么什么是REST式方法呢?如果我没有像上面描述的那样的集中式调度器,它还算作休息吗?