DEV Community

Faaza Mumtaza Kirom
Faaza Mumtaza Kirom

Posted on

Belajar laravel (request, response, views, validations)

  1. Request Request adalah objek yang merupakan sebuah bentuk permintaan (HTTP request) yang diterima oleh aplikasi. Permintaannya bisa berupa GET, POST, PUT, DELETE, atau metode HTTP lainnya. Objek Request memudahkan akses dari form, URL, cookies, headers, atau file yang diunggah ke data input.

Kegunaan:
Request digunakan untuk mengakses dan memanipulasi data yang dikirim oleh pengguna melalui form, query string, atau API. Laravel secara otomatis menyediakan instance dari Request ke dalam controller atau method.

Contoh Penggunaan:

use Illuminate\Http\Request;
public function store(Request $request) {
    $name = $request->input('name');
    $nim = $request->input('nim');

    Student::create([
        'name' => $name,
        'nim' => $nim
    ]);
}
Enter fullscreen mode Exit fullscreen mode

Di atas, objek Request digunakan untuk mengambil data yang dikirimkan melalui form (dengan nama name dan nim), lalu data tersebut disimpan ke dalam database.

  1. Response Response adalah objek yang mengirimkan hasil dari permintaan kembali ke client (browser atau API client). Ini bisa berupa halaman HTML, JSON, file, atau redirect. Laravel mempermudah pembuatan dan manipulasi respons dengan berbagai helper functions.

Kegunaan:
Response digunakan untuk mengirim data yang dihasilkan oleh server ke pengguna, baik berupa tampilan HTML, JSON untuk API, atau status pengalihan (redirect) setelah aksi tertentu dilakukan.

Contoh Penggunaan:

public function store(Request $request) {

return redirect('/students')->with('success', 'Student created successfully.');
}
Enter fullscreen mode Exit fullscreen mode

Dalam contoh ini, setelah menyimpan data, kita mengirimkan Response yang mengarahkan pengguna kembali ke halaman daftar siswa dengan pesan sukses menggunakan metode with().

Contoh Respon yang lain:

return response()->json(['message' => 'Student created successfully'], 201);
Enter fullscreen mode Exit fullscreen mode
  1. Views

View di Laravel adalah representasi dari tampilan yang dilihat oleh pengguna. Laravel menggunakan engine template bernama Blade untuk memisahkan logika bisnis dari logika tampilan. Blade memungkinkan developer menyusun HTML dan menyematkan variabel atau loop dari PHP dengan sintaks yang lebih mudah dibaca.

Kegunaan:
Views digunakan untuk menampilkan data kepada pengguna, baik berupa HTML yang dihasilkan dari data database atau file statis seperti gambar dan file CSS. Blade juga mendukung inheritance dan komponen, sehingga memudahkan untuk membuat halaman yang dapat digunakan ulang.

Contoh Penggunaan:

public function index() {
    $students = Student::all();
    return view('students.index', compact('students'));
}

<h1>Daftar Siswa</h1>
<ul>
    @foreach($students as $student)
        <li>{{ $student->name }} - {{ $student->nim }}</li>
    @endforeach
</ul>
Enter fullscreen mode Exit fullscreen mode

Di sini, controller mengirim data students ke view students.index, yang menampilkan data siswa menggunakan loop @foreach.

  1. Validation

Validasi adalah proses memeriksa apakah data yang dikirimkan ke aplikasi sesuai dengan aturan yang diharapkan. Laravel menyediakan cara yang sangat mudah dan kuat untuk memvalidasi data melalui Request objek.

Kegunaan:
Validasi digunakan untuk memastikan bahwa data yang dikirimkan oleh pengguna (misalnya melalui form atau API) memenuhi kriteria tertentu seperti format email yang valid, panjang minimum teks, atau angka unik di database. Ini penting untuk menjaga integritas data dan keamanan aplikasi.

Contoh Penggunaan:

public function store(Request $request) {
    $request->validate([
        'name' => 'required|max:255',
        'nim' => 'required|unique:students|numeric',
        'class' => 'required',
    ]);

    Student::create($request->all());

    return redirect('/students')->with('success', 'Student created successfully.');
}
Enter fullscreen mode Exit fullscreen mode

Di sini, validasi digunakan untuk memastikan:
name wajib diisi dan tidak boleh lebih dari 255 karakter.
nim harus unik di tabel students dan harus berupa angka.
class wajib diisi.
Jika ada aturan yang tidak terpenuhi, Laravel secara otomatis akan mengembalikan error ke halaman form dan menampilkan pesan kesalahan.

Top comments (0)