Rutele Route::put(), Route::patch() și Route::delete() în Laravel

routing Laravel 11.x / PHP 8.2+ Q&A / Distribuie cod

Ghid complet pentru înregistrarea metodelor HTTP RESTful în Laravel: actualizare completă (PUT), parțială (PATCH) și ștergere (DELETE) cu Form Method Spoofing.

Sintaxă
Route::put('/posts/{id}', ...) / Route::patch() / Route::delete()

În dezvoltarea aplicațiilor web RESTful cu Laravel, pe lângă metodele uzuale Route::get() și Route::post(), framework-ul furnizează metode dedicate pentru modificarea și eliminarea resurselor:

  • Route::put('/items/{id}', [Controller::class, 'update']): Înlocuirea completă a unei resurse existente cu datele trimise.
  • Route::patch('/items/{id}', [Controller::class, 'updatePartial']): Modificarea câtorva atribute ale resursei fără a suprascrie întregul obiect.
  • Route::delete('/items/{id}', [Controller::class, 'destroy']): Ștergerea definitivă a resursei din baza de date.

Deoarece formularele HTML native din browsere suportă doar metodele GET și POST, Laravel include mecanismul Form Method Spoofing: directiva Blade @method('PUT') sau un câmp ascuns <input type="hidden" name="_method" value="DELETE">.

Exemplu: Definire rute și formular Blade cu @method(‘PUT’)
// routes/web.php
use App\Http\Controllers\ArticleController;
use Illuminate\Support\Facades\Route;

Route::put('/articole/{id}', [ArticleController::class, 'update'])->name('articles.update');
Route::delete('/articole/{id}', [ArticleController::class, 'destroy'])->name('articles.destroy');

// În șablonul Blade (articles/edit.blade.php):
<form action="{{ route('articles.update', $article->id) }}" method="POST">
    @csrf
    @method('PUT')
    <input type="text" name="title" value="{{ $article->title }}">
    <button type="submit">Actualizează Articol</button>
</form>

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Rutele Route::put(), Route::patch() și Route::delete()

Ai o nelămurire despre utilizarea comenzii Rutele Route::put(), Route::patch() și Route::delete() sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.