РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
392 of 1392 menu
◀ ▶

Метод delete

Метод delete класса Route используется для регистрации маршрута, который обрабатывает HTTP DELETE запросы. Обычно такие маршруты предназначены для удаления ресурсов. Первым параметром передаётся URI маршрута, вторым - действие, которое будет выполнено при обращении по этому маршруту. Второй параметр может быть именем контроллера и метода через @, замыканием или массивом с указанием контроллера.

Синтаксис

<?php use Illuminate\Support\Facades\Route; Route::delete($uri, $action); ?>

Пример

Давайте зарегистрируем простой маршрут для удаления статьи по её идентификатору:

<?php use Illuminate\Support\Facades\Route; Route::delete('/articles/{id}', function ($id) { return "Article with id $id has been deleted."; }); ?>

Результат выполнения DELETE запроса на /articles/5:

"Article with id 5 has been deleted."

Пример

Теперь зарегистрируем маршрут, который будет использовать метод контроллера для удаления:

<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\ArticleController; Route::delete('/articles/{id}', [ArticleController::class, 'destroy']); ?>

Пример

Создадим контроллер с методом destroy для обработки DELETE запроса:

<?php namespace App\Http\Controllers; use App\Models\Article; use Illuminate\Http\Request; class ArticleController extends Controller { public function destroy(Request $request, $id) { $article = Article::find($id); if ($article) { $article->delete(); return response()->json(['message' => 'Article deleted successfully']); } return response()->json(['message' => 'Article not found'], 404); } } ?>

Результат выполнения DELETE запроса на /articles/5:

{ "message": "Article deleted successfully" }

Пример

Также можно использовать группу маршрутов с префиксом для объединения DELETE маршрутов:

<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\ArticleController; Route::prefix('admin')->group(function () { Route::delete('/articles/{id}', [ArticleController::class, 'destroy'])->name('articles.destroy'); Route::delete('/comments/{id}', [CommentController::class, 'destroy'])->name('comments.destroy'); }); ?>

Смотрите также

  • метод get,
    который регистрирует маршрут для GET запросов
  • метод post,
    который регистрирует маршрут для POST запросов
  • метод put,
    который регистрирует маршрут для PUT запросов
  • метод any,
    который регистрирует маршрут для нескольких HTTP методов
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить