I read a lot of Restful tutorials for PHP.
(I don't want to go in depth into why I am not using RoR. It is due to the team being more familiar with PHP)
Because we are planning for future expansion into having APIs i read that it is important to implement Restful web services.
I have looked at tutorials such as
http://www.gen-x-design.com/archives/create-a-rest-api-with-php/
Apparently restful is meant for webservices.
What about for webpages? can they be RESTFUL as well?
if the answer is NO, please do not go beyond this line AND just tell me. Thank you.
i know to make the urls look like RESTFUL urls is to simply use mod_rewrite. However, i am quite sure, restful architecture goes beyond just making the urls look nice.
For eg, i have a list of items on a webpage called list.php . Each item has a delete link next to it. E.g., list.php?id=1&deleteitem
What happens is that when someone clicks on the list.php?id=1&deleteitem link, of course i go back to the same list.php file and check for the param deleteitem in $_GET.
If detected, i will then delete from database based on the param id in $_GET.
After which i will redirect back to list.php WITHOUT any params.
I am wondering, how do i make this whole flow RESTFUL?
I am asking because in REST, to make delete something you need to use HTTP request method (DELETE).
Clearly in my links they are all just simply <a href="list.php?id=1&deleteitem">Delete</a>
Please enlighten me.
My programming is not that strong and it would be good if the advice given can be as layman as possible.
Thank you.
EDIT
I have 2 follow up questions.
question 1) Since this is a list of items with paging, how would the URL look like if i want to make it RESTful?
question 2) Since i am putting DELETE links next to every one of the items in the list, I understand now, i should use
<form method="POST">
<input type=hidden name="_method" value="delete">
<input type="submit" >
</form>
instead.
however the form should be posted to where? the item url? /items/{item-id}
But i want to go back to this listing page displaying a success message AFTER successfully deleting the row in database.
I also want to avoid a popup message when i refresh this listing page with success message.
If i post back to this list.php url, then it is not RESTful yes? because i am told by the answers below that each item is a resource which needs its own url.
Please enlighten me. Thank you.