DEV Community

Cover image for 🏪 Mengenal Laravel Staff: Request, Response, Views, And Validation

🏪 Mengenal Laravel Staff: Request, Response, Views, And Validation

Bismillaah..

Artikel ini akan menjadi tulisan kedua, masih seputar Laravel ya..

1 - Request (Permintaan)

Saat kita memesan makanan, kita pasti memberikan "permintaan" kepada pelayan. Permintaan ini bisa berupa nama makanan, minuman, tingkat kematangan, dan sebagainya.

Dalam Laravel, "Request" ini tuh data yang kita kirimkan dari browser ke server, misalnya melalui formulir atau URL.

Contoh visualisasinya seperti ini:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    /**
     * Store a new user.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $name = $request->input('pastry');

        //
    }
}
Enter fullscreen mode Exit fullscreen mode

Singkatnya tuh:

  • Class use Illuminate\Http\Request; itu bagaikan waiter, yang memberikan kita method store yang bagaikan kertas untuk menulis menu yang kita ingin pesan,
  • Namun, konsepnya kita harus menulis parameter Request $request agar pesanan kita dapat dibaca oleh pihak dapur.
  • Request menawarkan beberapa contoh yang kita inginkan untuk makanan kita itu seperti apa, diantaranya: ada input, only, except, cookie, date, atau bisa juga all.

2 - Response (Tanggapan)

Setelah pelayan menerima pesanan kita, dia akan membawa pesanan itu ke dapur dan kemudian kembali dengan makanan yang sudah siap. Makanan yang kamu terima bisa dibilang sebagai "Response" dari dapur.

Di Laravel, "Response" ini itu halaman web yang dikirimkan kembali ke browser kita setelah server memproses Request kita.

Di samping itu, kita tentu tau kalau makanan yang datang ke kita akan di-serve dengan berbagai cara kan? Begitulah gambaran "Response" ini, dia bisa berupa RedirectResponse, JSONResponse, dan DownloadResponse.

Contoh visualisasi sederhananya seperti ini:

Route::get('/', function () {
    return 'Croissant';
});
Enter fullscreen mode Exit fullscreen mode

3 - View (Tampilan)

Menu makanan yang kita lihat di restoran itu seperti "View" dalam Laravel. View adalah template yang digunakan untuk menampilkan data.

Dalam contoh makanan, menu itu template yang menunjukkan berbagai pilihan makanan yang bisa kita pesan.

Dibalik "View", pemilik restoran set parameternya, misal:

Route::get('/', function () {
    return view('home', ['name' => 'Cest Laravello Restaurant']);
});
Enter fullscreen mode Exit fullscreen mode

Ia juga set pada LED Box resourses\views\home.blade.php Misal:

<html>
    <body>
        <h1>Bonjour, {{ $name }}</h1>
    </body>
</html>
Enter fullscreen mode Exit fullscreen mode

4 - Validation (Validasi)

Sebelum pesanan kita diproses, pelayan akan memeriksa apakah pesanan kita itu valid atau tidak.

Misalnya, apakah makanan yang kita pesan ada di menu atau apakah kita memesan terlalu banyak makanan.

Dalam Laravel, "Validation" digunakan untuk memeriksa apakah data yang kita kirimkan memenuhi syarat tertentu, seperti apakah email yang kita masukkan valid atau apakah password yang kita masukkan itu cukup kuat.

Pada Laravel untuk Validation, kita menggunakan Trait ValidateRequest bisa dibilang sebagai SOP restoran.

Permisalannya kek gini:

public function store(Request $request)
{
    $request->validate([
        'dish' => 'required|unique:posts|max:255',
        'dessert' => 'required',
    ]);

    // The order post is valid...
}
Enter fullscreen mode Exit fullscreen mode

Okay, That's All.. sekian pembahasan kita kali ini.. see yuh in the next one!

Top comments (0)