;
Belajar Laravel dengan Mudah dan Menyenangkan
Routing adalah cara Laravel menentukan apa yang harus dilakukan ketika pengguna mengakses URL tertentu di aplikasi. Rute menghubungkan URL (seperti /posts) dengan logika aplikasi, seperti menampilkan data atau memanggil controller.
Rute didefinisikan di file routes/web.php (untuk aplikasi web) atau routes/api.php (untuk API). Rute bisa menjalankan fungsi sederhana, memanggil controller, atau mengembalikan view.
Berikut langkah-langkah membuat rute sederhana untuk menampilkan data dari tabel posts (dengan kolom id, title, content).
Pastikan kamu sudah:
.env.posts dengan migration dan mengisi data (misalnya, via seeder).Post dan controller PostController (opsional untuk contoh lanjutan).Buka File Routing
File rute utama ada di routes/web.php. Buka file ini untuk menambahkan rute.
Buat Rute Dasar
Tambahkan rute sederhana di routes/web.php untuk menampilkan teks:
Route::get('/hello', function () {
return 'Hello, Laravel!';
});
Penjelasan:
Route::get: Menangani permintaan HTTP GET./hello: URL yang diakses (misalnya, http://localhost:8000/hello).function (): Logika yang dijalankan, mengembalikan teks.Rute dengan Data dari Model
Tambahkan rute untuk menampilkan semua postingan:
use App\Models\Post;
Route::get('/posts', function () {
$posts = Post::all();
return view('posts', ['posts' => $posts]);
});
Pastikan resources/views/posts.blade.php ada (lihat tutorial Blade sebelumnya).
Rute dengan Parameter
Tambahkan rute untuk menampilkan satu postingan berdasarkan ID:
Route::get('/posts/{id}', function ($id) {
$post = Post::find($id);
return $post ?: 'Postingan tidak ditemukan';
});
Penjelasan:
{id}: Parameter dinamis yang diambil dari URL (misalnya, /posts/1).Post::find($id): Mencari postingan berdasarkan ID.Rute dengan Controller
Hubungkan rute ke controller untuk logika yang lebih terorganisir. Misalkan ada PostController:
use App\Http\Controllers\PostController;
Route::get('/posts', [PostController::class, 'index']);
Route::get('/posts/{id}', [PostController::class, 'show']);
Penjelasan:
[PostController::class, 'index']: Memanggil metode index di PostController.Jalankan Server
Jalankan server Laravel dengan:
php artisan serve
Uji rute:
http://localhost:8000/hello → Menampilkan "Hello, Laravel!".http://localhost:8000/posts → Menampilkan daftar postingan.http://localhost:8000/posts/1 → Menampilkan postingan dengan ID 1.
Route::post('/posts', [PostController::class, 'store']);
Route::put('/posts/{id}', [PostController::class, 'update']);
Route::delete('/posts/{id}', [PostController::class, 'destroy']);
Jika tabel posts berisi:
[{"id": 1, "title": "Belajar Laravel", "content": "Routing sangat mudah..."}]
/posts menampilkan daftar postingan di view./posts/1 menampilkan data postingan dengan ID 1.Route::get('/posts', ...)->middleware('auth')).
Route::resource('posts', PostController::class);
Selamat! Kamu sudah menguasai dasar Routing di Laravel untuk mengatur alur aplikasi!