Tôi đã đọc rất nhiều hướng dẫn Restful cho PHP.có nghĩa là chỉ dành cho các dịch vụ web HOẶC cho cả dịch vụ web VÀ các trang web?
(Tôi không muốn đi sâu vào lý do tại sao tôi không sử dụng RoR. Đó là do nhóm nghiên cứu là quen thuộc hơn với PHP)
Bởi vì chúng tôi đang có kế hoạch mở rộng trong tương lai vào có API tôi đọc điều quan trọng là triển khai các dịch vụ web Restful.
tôi đã xem xét hướng dẫn như
http://www.gen-x-design.com/archives/create-a-rest-api-with-php/
Rõ ràng yên tĩnh có nghĩa là cho webservices.
Còn về trang web thì sao? họ cũng có thể được RESTFUL?
nếu câu trả lời là KHÔNG, vui lòng không vượt quá dòng này VÀ chỉ cho tôi biết. Cảm ơn bạn.
tôi biết làm cho các url trông giống như các url RESTFUL là chỉ cần sử dụng mod_rewrite. Tuy nhiên, tôi khá chắc chắn, kiến trúc yên tĩnh đi xa hơn chỉ làm cho các url trông đẹp.
Ví dụ: tôi có danh sách các mục trên trang web có tên là list.php. Mỗi mục có một liên kết xóa bên cạnh nó. Ví dụ: list.php? Id = 1 & deleteitem
Điều gì xảy ra là khi ai đó nhấp vào liên kết list.php? Id = 1 & deleteitem, tất nhiên tôi quay trở lại cùng một tệp list.php và kiểm tra deleteitem param trong $ _GET.
Nếu được phát hiện, tôi sẽ xóa khỏi cơ sở dữ liệu dựa trên id thông số trong $ _GET.
Sau đó tôi sẽ chuyển hướng trở lại list.php KHÔNG CÓ bất kỳ thông số nào.
Tôi tự hỏi, làm thế nào để tôi thực hiện toàn bộ dòng này RESTFUL?
Tôi hỏi vì trong REST, để xóa nội dung bạn cần sử dụng phương thức yêu cầu HTTP (DELETE).
Rõ ràng trong các liên kết của tôi họ là tất cả chỉ đơn giản là <a href="list.php?id=1&deleteitem">Delete</a>
hãy soi sáng cho tôi.
Lập trình của tôi không mạnh mẽ và sẽ tốt nếu lời khuyên được đưa ra có thể là giáo dân càng tốt.
Cảm ơn bạn.
EDIT
Tôi có 2 câu hỏi tiếp theo.
câu hỏi 1) Vì đây là danh sách các mục có phân trang, URL trông như thế nào nếu tôi muốn đặt chế độ này là RESTful?
câu hỏi 2) Kể từ khi tôi đang đưa DELETE liên kết bên cạnh mỗi một trong các mục trong danh sách, tôi hiểu bây giờ, tôi nên sử dụng
<form method="POST">
<input type=hidden name="_method" value="delete">
<input type="submit" >
</form>
để thay thế.
tuy nhiên biểu mẫu sẽ được đăng ở đâu? url mục?/items/{item-id}
Nhưng tôi muốn quay lại trang danh sách này hiển thị thông báo thành công SAU KHI xóa thành công hàng trong cơ sở dữ liệu.
Tôi cũng muốn tránh thông báo bật lên khi tôi làm mới trang danh sách này bằng thông báo thành công.
Nếu tôi đăng lại url list.php này, thì nó không phải là RESTful yes? bởi vì tôi được kể bởi các câu trả lời bên dưới rằng mỗi mục là một tài nguyên cần url riêng của nó.
Hãy khai sáng cho tôi. Cảm ơn bạn.
Tôi có một câu hỏi. Đối với các biểu mẫu sử dụng POST, tôi không muốn người dùng của tôi nhìn thấy cửa sổ bật lên khi họ sử dụng các nút quay lại và làm mới trên trình duyệt của họ. Vì vậy, làm thế nào để tôi vượt qua điều này trong khi vẫn còn được RESTful? –
kiểm tra câu hỏi này để biết các ý tưởng về cách khắc phục điều đó: http://stackoverflow.com/questions/660329/prevent-back-button-from-showing-post-confirmation-alert – Anurag
Tôi có câu hỏi về chế độ xem danh sách của tất cả mặt hàng. Tôi không quen thuộc với Rails, vì vậy tôi phải hỏi bạn. Để phân trang danh sách, một khung làm việc RESTful sẽ xử lý nó như thế nào? –