我一直在使用REST教程http://www.gen-x-design.com/archives/create-a-rest-api-with-php/
我不明白地址栏中的Url如何映射到数据库(xml / sql)以输出具有其属性的特定对象。
因此,如果地址栏中有'localhost / people / 1',它如何链接到数据库以使用rest提取相关信息,因此查询将是“SELECT * FROM where where id =”。$ id = 1
理论分解的编码示例非常棒
由于
答案 0 :(得分:1)
如果通过“输出具有其属性的特定对象”,则表示文字PHP对象,它将涉及序列化等等,但我不认为这是您正在寻找的。相反,要通过发出REST请求从数据库中获取一组数据,这大致就是流程的工作方式:
使用GET
应用程序从URL
应用程序使用参数查询数据库
应用程序将数据格式化为以特定格式返回,通常是JSON或XML。
应用程序将数据返回给调用者
就映射到数据库而言,这更多地与用于提供数据的技术有关。最常见的技术称为对象关系映射,并且有许多流行的用于PHP的ORM可以很好地实现,例如Doctrine。
REST请求中的URL和方法提供有关做什么(GET,POST,DELETE等)的参数和说明。一旦掌握了这些内容,创建应用程序逻辑以将这些参数与ORM连接,接收数据,格式化并返回它应该相当简单。
[编辑] 我想我在上面的讨论中略微概括了一下。 REST使用MVC模式更容易(如您链接的教程)。通过这种方式,网址api.somesite.com/user/show/1
会转换为:
控制器是一个包含称为操作的方法的文件。该参数将传递给可以使用它的action方法。
进一步推动MVC范例,您的模型将处理数据库的连接。根据您的风格,模型可能是“胖模型”,您将完成所有输入过滤/验证以及输出格式化。
要在评论中回答您的问题,“解析”通常通过路由功能完成,该功能会分解URL并将请求发送到正确的控制器/操作。