我阅读了很多关于 PHP 的 Restful 教程。
(我不想深入探讨为什么我不使用 RoR。这是由于团队更熟悉 PHP)
因为我们正在计划未来扩展到拥有 API,所以我读到实现 Restful Web 服务很重要。
我看过教程,例如
http://www.gen-x-design.com/archives/create-a-rest-api-with-php/
显然,restful 是用于 web 服务的。
网页呢?他们也可以安静吗?
如果答案是否定的,请不要超出这条线并告诉我。谢谢你。
我知道让 url 看起来像 RESTFUL url 就是简单地使用 mod_rewrite。然而,我很确定,宁静的架构不仅仅是让 url 看起来不错。
例如,我在名为 list.php 的网页上有一个项目列表。每个项目旁边都有一个删除链接。例如,list.php?id=1&deleteitem
当有人点击 list.php?id=1&deleteitem 链接时会发生什么,当然我会回到同一个 list.php 文件并检查 $_GET 中的参数 deleteitem。
如果检测到,我将根据 $_GET 中的参数 ID 从数据库中删除。
之后,我将在没有任何参数的情况下重定向回 list.php。
我想知道,我如何让整个流程变得 RESTFUL?
我问是因为在 REST 中,要删除您需要使用 HTTP 请求方法 (DELETE) 的内容。
显然,在我的链接中,它们都只是简单的<a href="list.php?id=1&deleteitem">Delete</a>
请赐教。
我的编程不是那么强大,如果给出的建议可以尽可能外行,那就太好了。
谢谢你。
编辑
我有 2 个后续问题。
问题 1) 由于这是一个带有分页的项目列表,如果我想让它成为 RESTful,该 URL 会是什么样子?
问题2)由于我将删除链接放在列表中的每个项目旁边,我现在明白了,我应该使用
<form method="POST">
<input type=hidden name="_method" value="delete">
<input type="submit" >
</form>
反而。
但是表格应该张贴到哪里?项目网址?/items/{item-id}
但我想在成功删除数据库中的行后返回此列表页面,显示成功消息。
当我用成功消息刷新此列表页面时,我还想避免弹出消息。
如果我发回这个 list.php 网址,那么它不是 RESTful 是吗?因为下面的答案告诉我,每个项目都是需要自己的 url 的资源。
请赐教。谢谢你。