| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > В чем преимущество использования DELETE/PUT ? |
| Автор: Ripper 21.6.2013, 23:12 |
| Использую фреймворк Laravel 4. В нем можно создать через консоль контроллер с дефолтными методами для операций CRUD. Дальше в роутинге прописываешь строчку - и все, все пути прописываются. Только вот скажем для удаления сущности нужно работать с DELETE, а для обновления с PUT. Как поступает Laravel - создает форму, в которой в hidden поле написан метод. И если это PUT, то это на самом деле POST у которого hidden поле _method="PUT" ... И все бы ничего, когда работаем с формами можно использовать стандартные хелперы чтобы нарисовать форму по заданному методу. Но вот например я хочу удалить сущность, и вариант "/api/files/15/delete" как GET запрос не пройдет. Я например сущности вывожу в таблице, где в каждой строчке хочу впихнуть ссылку на удаление - вместо ссылки нужно делать форму, плюс ко всему стили уже не как у ссылки и все такое. Но в чем кайф от использования этих PUT/DELETE? |
| Автор: Arantir 22.6.2013, 01:00 |
| В самих по себе в них смысл в четкости и определенности. Например, можно было бы запретить своему приложению удалять что-либо по запросам, не соответствующим DELETE. Поскольку ссылка — это всегда GET, то CRUD могут быть дифференцированы только при отправке формы. А поскольку в итоге получается только два варианта — либо ссылка, либо форма, — браузер умеет только два метода GET и POST. Исходя из всего этого, для общения приложения с конечным пользователем использовать CRUD — это излишество. Только лишняя морока. Не говоря о том, что оно сделано косвенно (по сути — костыль). Где он может пригодится, так это в создании и использовании API к приложению. В этом случае запросы к API можно отсылать программно и с любым методом. И соответственно их обрабатывать (см. первое предложение поста). |