Menggunakan Request


Di tutorial ini, kita akan membahas cara menggunakan Request di Laravel. Request digunakan untuk mengambil data dari permintaan yang masuk, baik itu data dari form, query string, atau header.

1. Memahami Request

Di Laravel, semua permintaan HTTP diwakili oleh objek Illuminate\Http\Request. Anda bisa menggunakan objek ini untuk mengakses input, file, dan mengelola berbagai jenis data dari permintaan.

2. Menggunakan Request di Controller

Untuk menggunakan Request, pertama-tama kita harus menyuntikkan objek Request ke dalam metode controller kita.

Contoh:

use Illuminate\Http\Request;

class UserController extends Controller
{
    public function store(Request $request)
    {
        // Mengakses data input
        $name = $request->input('name');
        // ...
    }
}

3. Mengambil Input dari Request

3.1. Mengambil Input dengan input()

Anda bisa menggunakan metode input() untuk mengambil data dari permintaan.

$name = $request->input('name');

3.2. Mengambil Input dengan get()

Metode get() juga bisa digunakan untuk mengambil data.

$email = $request->get('email');

3.3. Mengambil Input dengan Default Value

Anda bisa memberikan nilai default jika data tidak ada.

$phone = $request->input('phone', 'not provided');

4. Mengambil Input dari Query String

Anda dapat mengambil data dari query string dengan cara yang sama.

$page = $request->query('page');

5. Mengambil Data dari Form Input

Jika Anda memiliki form, Anda dapat mengambil data menggunakan input() atau request().

Contoh Form HTML:

<form action="/user" method="POST">
    @csrf
    <input type="text" name="name">
    <input type="submit" value="Submit">
</form>

Mengambil Data di Controller:

public function store(Request $request)
{
    $name = $request->input('name');
    // Lakukan sesuatu dengan $name
}

6. Mengambil File dari Request

Jika Anda ingin mengambil file dari permintaan, Anda bisa menggunakan metode file().

Contoh:

public function upload(Request $request)
{
    if ($request->hasFile('avatar')) {
        // Menyimpan file
        $path = $request->file('avatar')->store('avatars');
    }
}

7. Validasi Input

Salah satu fitur powerful di Laravel adalah validasi input dari Request. Anda dapat melakukan validasi seperti berikut:

public function store(Request $request)
{
    $validatedData = $request->validate([
        'name' => 'required|max:255',
        'email' => 'required|email',
    ]);

    // Jika validasi lulus, simpan data
}

8. Mengakses Header

Anda bisa mengakses header dari permintaan menggunakan metode header().

$userAgent = $request->header('User-Agent');

9. Menyimpan Data Request ke Session

Anda juga bisa menyimpan data request ke session jika diperlukan.

$request->session()->put('key', 'value');

Kesimpulan

Menggunakan Request di Laravel sangatlah mudah dan fleksibel. Anda dapat dengan cepat memperoleh data dari input, file, header, dan bahkan melakukan validasi. Pastikan Anda memanfaatkan semua fitur yang disediakan oleh Laravel untuk membuat aplikasi yang lebih baik.

Untuk lebih lanjut, Anda dapat merujuk ke dokumentasi resmi Laravel.