DEV Community

Faaza Mumtaza Kirom
Faaza Mumtaza Kirom

Posted on

Belajar laravel (routing, middleware, controller)

  1. Routing Routing di Laravel mendefinisikan endpoint atau URL yang mengarahkan ke fungsi tertentu dalam controller atau langsung mengeksekusi kode logika.

fungsi: Routing menentukan ke mana request dari URL harus diarahkan dan tindakan apa yang harus diambil. File routing diletakkan di routes/web.php (untuk web) atau routes/api.php (untuk API).

Contoh Penggunaan dalam Studi Kasus: Dalam aplikasi manajemen siswa, ingin menampilkan daftar siswa dengan route sebagai berikut:

Image description

catatan:

  • /students: Mengarahkan ke method index() di StudentController untuk menampilkan semua siswa.
  • /students/create: Mengarahkan ke form pembuatan siswa baru.
  • POST /students: Menyimpan siswa baru ke database.
  • /students/{id}/edit: Menampilkan form edit untuk siswa tertentu.
  • PUT /students/{id}: Memperbarui data siswa berdasarkan ID.
  • DELETE /students/{id}: Menghapus siswa dari database.
  1. Middleware Middleware adalah lapisan filter yang dijalankan sebelum atau sesudah request dijalankan. Contoh yang umum adalah autentikasi, logging, atau validasi izin.

fungsi: Middleware digunakan untuk tugas seperti otentikasi pengguna (memastikan bahwa pengguna sudah login), membatasi akses ke halaman tertentu, atau menangani request tertentu sebelum mencapai controller.

Contoh Penggunaan dalam Studi Kasus: ingin membatasi akses ke halaman pembuatan, pengeditan, dan penghapusan siswa agar hanya admin yang bisa mengaksesnya.

Image description

Middleware auth digunakan untuk memastikan pengguna telah login, sementara role:admin memastikan hanya pengguna dengan peran admin yang bisa mengakses halaman ini.

  1. Controller Controller adalah kelas yang bertanggung jawab mengatur logika aplikasi dan bertindak sebagai penghubung antara model (data) dan view (tampilan).

fungsi: Controller adalah untuk membantu mengelola logika aplikasi, seperti menangani permintaan dari user, mengambil data dari model, dan mengirimkan data ke view.

Contoh Penggunaan dalam Studi Kasus: membuat StudentController untuk menangani logika CRUD siswa:

Image description

catatan:

  • index(): Menampilkan daftar siswa.
  • create(): Menampilkan form untuk menambahkan siswa baru.
  • store(): Menyimpan data siswa baru ke database.
  • edit(): Menampilkan form untuk mengedit data siswa berdasarkan ID.
  • update(): Memperbarui data siswa yang ada di database.
  • destroy(): Menghapus siswa berdasarkan ID.

Top comments (0)