Kenapa Perlu Blocking Routes Pas Migrasi Platform di Laravel?

Bayangin deh, lo udah bikin web app dashboard yang keren buat manage data, dan sekarang waktunya pindah ke platform yang lebih baru dan lebih oke. Tapi gimana nasib user yang masih coba akses sistem yang lama? Nah, di sinilah blocking routes jadi solusinya. Daripada bikin user bingung gara-gara nemu halaman broken, mending bikin satu halaman aja yang jelasin ke mana mereka harus pergi.
Dengan cara ini lo dapet beberapa benefit:
- Komunikasi Jelas: User langsung tau harus ke mana, gak bikin frustrasi.
- Lebih Aman: Mencegah akses yang gak diinginkan ke sistem lama.
- Maintenance Lebih Gampang: Lo gak perlu pusing ngurusin routes dan logic lama.
Mari kita bahas cara implementasinya di Laravel 8.
Langkah-langkah Implementasi
1. Bikin Middleware Dulu
Middleware itu kayak filter buat HTTP request. Kita perlu bikin middleware buat intercept semua routes.
Jalanin command ini:
php artisan make:middleware BlockRoutesMiddleware
2. Tambahin Logic ke Middleware
Modifikasi middleware-nya buat redirect user ke halaman tertentu, kecuali mereka lagi ngunjungin route yang diizinin.
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class BlockRoutesMiddleware
{
public function handle(Request $request, Closure $next)
{
if (!$request->is('new-platform')) {
return redirect()->route('new-platform');
}
return $next($request);
}
}
3. Bikin Route Notifikasi
Tambahin route buat halaman notifikasi platform baru di routes/web.php
:
use Illuminate\Support\Facades\Route;
Route::get('/new-platform', function () {
return view('new-platform');
})->name('new-platform');
4. Bikin View Notifikasi
Design view Blade yang simple dan user-friendly buat notice migrasi:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Kita Pindah!</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
background-color: #f4f4f4;
padding: 50px;
}
h1 {
color: #333;
}
a {
color: #007bff;
text-decoration: none;
}
</style>
</head>
<body>
<h1>Kita Udah Pindah!</h1>
<p>Kunjungi platform baru kita di sini:</p>
<p><a href="https://new-platform.com">Ke Platform Baru</a></p>
</body>
</html>
5. Daftarin Middleware
Tambahin middleware ke global middleware stack di app/Http/Kernel.php
:
protected $middleware = [
// Middleware lainnya
\App\Http\Middleware\BlockRoutesMiddleware::class,
];
6. Test Dulu
- Pastiin semua routes redirect ke
/new-platform
kecuali/new-platform sendiri
. - Cek halaman notifikasinya udah bener apa belum.