Rumah >pembangunan bahagian belakang >tutorial php >Beyond 404: Model pintar mengikat respons di Laravel
untuk membuat respons tersuai yang meningkatkan pengalaman pengguna. Ini amat berharga apabila berurusan dengan perubahan URL, dinamakan semula sebagai produk, atau memberikan cadangan yang berguna untuk sumber yang hilang. missing
inilah cara melaksanakan pengalihan pintar menggunakan kaedah
: missing
Route::get('/articles/{article:slug}', [ArticleController::class, 'show']) ->missing(function (Request $request) { return redirect()->route('articles.index') ->with('message', 'Article not found'); });Contoh ini menunjukkan pengalihan asas ke halaman indeks artikel dengan mesej mesra pengguna. Mari lihat senario yang lebih maju:
// Route for archived articles Route::get('/articles/{article:slug}', [ArticleController::class, 'show']) ->missing(function (Request $request) { // Check for archived article $archived = ArchivedArticle::where('original_slug', $request->route('article')) ->first(); if ($archived) { return redirect()->route('articles.archived', $archived->slug) ->with('info', 'This article has been moved to our archive.'); } return redirect()->route('articles.index') ->with('info', 'Article not found. Browse our latest posts.'); });Kod ini memeriksa jika artikel yang diminta wujud dalam arkib. Sekiranya dijumpai, ia mengalihkan ke halaman artikel yang diarkibkan dengan mesej yang berguna. Jika tidak, ia mengalihkan ke indeks artikel utama.
contohnya:
Dengan menggunakan kaedah
<code>// Accessing /articles/old-article-slug // Redirects to /articles/archived/old-article-slug // With flash message: "This article has been moved to our archive."</code>, anda mengubah berpotensi mengecewakan 404 kesilapan ke dalam redirects lancar dan mesej bermaklumat, mewujudkan aplikasi yang lebih mesra pengguna dan mantap.
Atas ialah kandungan terperinci Beyond 404: Model pintar mengikat respons di Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!