REST URL映射和PHP中的物理实现

时间:2013-09-16 12:46:53

标签: php api rest url

我正在开始我的第一个基于REST的应用程序,并且有一个非常微不足道的问题。

示例:资源“Book”:

1- GET www.domain.com/api/book/ - 获取所有书籍(正文中的可能参数) 2- GET www.domain.com/api/book/1234 - 获取具有ID = 1234的Book实例的详细信息(正文中没有参数) 3- GET获取www.domain.com/api/book/1234/author - 获取ID = 1234的书籍作者

我想知道这些服务的物理服务器端实现。哪个PHP文件会存储相应的代码?是否有一些服务器配置要做?

我想我的服务器文件夹结构与此类似:  API /书/  API /作者/

...里面有一些php文件:  API /书/ file.php  API /作者/ file.php

我是否还应该有物理文件夹api / book / 1234,或者它是以某种方式假设由api / book /中的脚本处理?

感谢和问候!

我应该在哪里编写

的实现代码

1 个答案:

答案 0 :(得分:2)

一般

  1. 您应该使用htaccess + mod_rewite将所有请求重定向到一个文件。
  2. 然后你应该用PHP解析URI。
  3. 一个Controller类,用于根据已解析的参数决定要执行的操作。
  4. 例如:

    www.domain.com/api/book/1234
    

    您将其解析为:

    action: book
    id:     1234
    

    因此,您使用参数showBook() - 1234运行showBook(1234)操作,这将执行所有其余工作。

    <强>可是...

    我建议使用一些简单的REST应用程序框架。例如Slim Framework