# Laravel #2: Routing dan View

Pada artikel sebelumnya, kita telah mengenal Laravel sebagai salah satu framework web PHP yang powerful dan efisien. Sekarang, kita akan melanjutkan perjalanan dengan membahas dua komponen utama dalam pengembangan aplikasi web menggunakan Laravel, yaitu Routing dan View.

## **Routing dalam Laravel**

Routing adalah mekanisme yang digunakan untuk mengarahkan permintaan HTTP ke kode yang sesuai dalam aplikasi web kita. Dengan menggunakan routing, kita dapat menentukan bagaimana URL akan diakses oleh pengguna dan bagaimana permintaan tersebut akan dihandle oleh aplikasi kita.

### **Membuat Routing**

Untuk membuat routing dalam Laravel, kita dapat menggunakan file `routes/web.php` atau `routes/api.php`. Pada artikel ini, kita akan fokus pada file `web.php`, yang digunakan untuk routing aplikasi web.

Contoh sederhana membuat route:

```php
// routes/web.php

Route::get('/', function () {
    return view('welcome');
});

Route::get('/about', function () {
    return 'Ini Adalah Halaman About';
});
```

Silahkan kamu ketik `http://127.0.0.1:8000/about` pada browser, maka akan menghasilkan output:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1690255423902/fac464a2-150e-4f93-a694-943a04b72c2e.png align="center")

Dalam contoh di atas, kita telah membuat dua routing dengan menggunakan metode `get`. Routing pertama akan menghandle permintaan ke URL root (`/`), sedangkan routing kedua akan menghandle permintaan ke URL `/about`.

### **Parameter Routing**

Kita juga dapat menggunakan parameter dalam routing untuk menangkap nilai yang dikirimkan melalui URL. Contoh:

```php
// routes/web.php

Route::get('/post/{id}', function ($id) {
    return 'Menampilkan post dengan ID: ' . $id;
});
```

Silahkan kamu ketik `http://127.0.0.1:8000/post/1` pada browser, maka Output yang dihasilkan:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1690255607149/2a130365-b805-4d4b-9cc0-0ddffd574176.png align="center")

Dalam contoh di atas, kita telah membuat routing dengan parameter `{id}`. Nilai `id` yang dikirimkan melalui URL akan ditangkap dan digunakan dalam fungsi untuk memberikan respon yang sesuai.

## **View dalam Laravel**

View adalah tampilan atau antarmuka yang akan ditampilkan kepada pengguna. Dalam Laravel, kita menggunakan template engine Blade untuk mengelola tampilan aplikasi.

### **Membuat View**

View dapat dibuat dalam folder `resources/views`. Misalnya, untuk membuat view dengan nama `about.blade.php`, kita dapat melakukan seperti ini:

```xml
<!-- resources/views/about.blade.php -->

<!DOCTYPE html>
<html>
<head>
    <title>About Us</title>
</head>
<body>
    <h1>Tentang Garis kode</h1>
</body>
</html>
```

### **Menggunakan View dalam Routing**

Setelah view dibuat, kita bisa menggunakan view tersebut dalam routing untuk memberikan respon kepada pengguna.

```php
// routes/web.php

Route::get('/about', function () {
    return view('about');
});
```

Maka akan menghasilkan output:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1690256085230/4fb9bf15-c8c3-49a6-90ae-f7c0909d9e25.png align="center")

  
Dalam contoh di atas, kita telah mengarahkan permintaan ke URL about (`/about`) untuk menampilkan view `about.blade.php`.

### **Mengirim Data ke View**

Ketika menggunakan view, kita juga dapat mengirimkan data dari routing ke view untuk ditampilkan.

```php
// routes/web.php

Route::get('/hello/{name}', function ($name) {
    return view('greeting', ['name' => $name]);
});
```

```xml
<!-- resources/views/greeting.blade.php -->

<!DOCTYPE html>
<html>
<head>
    <title>Salam</title>
</head>
<body>
    <h1>Halo, {{ $name }}!</h1>
</body>
</html>
```

Maka akan menghasilkan output:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1690256347825/2c6981d5-244c-4cc6-888b-b3fbd655ff9a.png align="center")

Dalam contoh di atas, kita mengirimkan data berupa variabel `name` ke view `greeting.blade.php` dan menampilkannya menggunakan sintaks Blade `{{ $name }}`.

**See you next article...**
