Belajar laravel (request, response, views, validations)

Request

Di Laravel, Request mengacu pada objek yang merepresentasikan permintaan (HTTP request) yang diterima oleh aplikasi. Permintaan ini bisa berupa GET, POST, PUT, DELETE, atau metode HTTP lainnya. Objek Request memudahkan akses terhadap data in…


This content originally appeared on DEV Community and was authored by Faaza Mumtaza Kirom

  1. Request

Di Laravel, Request mengacu pada objek yang merepresentasikan permintaan (HTTP request) yang diterima oleh aplikasi. Permintaan ini bisa berupa GET, POST, PUT, DELETE, atau metode HTTP lainnya. Objek Request memudahkan akses terhadap data input dari form, URL, cookies, headers, atau file yang diunggah.

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
    ]);
}

Di sini, 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.');
}

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

Contoh Respo yang lain:

return response()->json(['message' => 'Student created successfully'], 201);
  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>

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.');
}

Di sini, validasi memastikan bahwa:
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.


This content originally appeared on DEV Community and was authored by Faaza Mumtaza Kirom


Print Share Comment Cite Upload Translate Updates
APA

Faaza Mumtaza Kirom | Sciencx (2024-10-02T09:40:36+00:00) Belajar laravel (request, response, views, validations). Retrieved from https://www.scien.cx/2024/10/02/belajar-laravel-request-response-views-validations/

MLA
" » Belajar laravel (request, response, views, validations)." Faaza Mumtaza Kirom | Sciencx - Wednesday October 2, 2024, https://www.scien.cx/2024/10/02/belajar-laravel-request-response-views-validations/
HARVARD
Faaza Mumtaza Kirom | Sciencx Wednesday October 2, 2024 » Belajar laravel (request, response, views, validations)., viewed ,<https://www.scien.cx/2024/10/02/belajar-laravel-request-response-views-validations/>
VANCOUVER
Faaza Mumtaza Kirom | Sciencx - » Belajar laravel (request, response, views, validations). [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/10/02/belajar-laravel-request-response-views-validations/
CHICAGO
" » Belajar laravel (request, response, views, validations)." Faaza Mumtaza Kirom | Sciencx - Accessed . https://www.scien.cx/2024/10/02/belajar-laravel-request-response-views-validations/
IEEE
" » Belajar laravel (request, response, views, validations)." Faaza Mumtaza Kirom | Sciencx [Online]. Available: https://www.scien.cx/2024/10/02/belajar-laravel-request-response-views-validations/. [Accessed: ]
rf:citation
» Belajar laravel (request, response, views, validations) | Faaza Mumtaza Kirom | Sciencx | https://www.scien.cx/2024/10/02/belajar-laravel-request-response-views-validations/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.