- 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:
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.
- 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.
Middleware auth digunakan untuk memastikan pengguna telah login, sementara role:admin memastikan hanya pengguna dengan peran admin yang bisa mengakses halaman ini.
- 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:
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)