Membuat controller sederhana dengan Laravel
Controller dalam Laravel memiliki beberapa fungsi utama:
Menerima Input: Controller berfungsi sebagai penghubung antara rute (URL) dan logika aplikasi. Controller menerima input dari permintaan HTTP yang dikirim oleh pengguna melalui rute.
Proses Bisnis: Controller adalah tempat di mana logika bisnis aplikasi berada. Controller melakukan pemrosesan data, validasi, dan operasi lainnya yang diperlukan untuk menghasilkan hasil yang akurat.
Berinteraksi dengan Model: Controller berkomunikasi dengan model untuk membaca atau memodifikasi data dalam basis data. Melalui model, controller dapat membuat, membaca, memperbarui, dan menghapus data (CRUD operations).
Mengirim Respon: Setelah melakukan operasi yang diperlukan, controller mengirimkan respon kembali kepada pengguna. Respon ini bisa berupa halaman HTML, data JSON, atau respon lainnya tergantung pada kebutuhan aplikasi.
Mengatur Aliran Aplikasi: Controller mengatur alur aplikasi dengan memutuskan tindakan apa yang harus diambil berdasarkan input yang diterima. Ini termasuk merutekan pengguna ke halaman yang sesuai, menangani kesalahan, dan memberikan respons yang tepat.
Manajemen Middleware: Controller dapat menetapkan middleware untuk menerapkan logika tertentu sebelum atau setelah tindakan dijalankan. Middleware ini dapat digunakan untuk otentikasi, otorisasi, dan validasi, di antara hal-hal lainnya.
Memisahkan Logika Aplikasi: Salah satu tujuan utama dari penggunaan controller adalah memisahkan logika aplikasi dari rute dan tampilan. Ini memungkinkan pengembangan aplikasi yang bersih, terstruktur, dan mudah dipelihara.
berikut adalah contoh controller untuk operasi CRUD (Create, Read, Update, Delete) terhadap data di tabel products
beserta penjelasannya.
Langkah 1: Membuat Controller CRUD menggunakan Artisan
Buka terminal atau command prompt, dan jalankan perintah berikut untuk membuat controller ProductController
:
Flag --resource
memberitahu Artisan bahwa Anda ingin membuat controller yang mendukung operasi CRUD (Create, Read, Update, Delete).
Langkah 2: Edit Controller ProductController.php
Buka file ProductController.php
yang baru saja Anda buat dan konfigurasikan controllernya untuk mendukung operasi CRUD:
Penjelasan:
index()
: Metode ini menampilkan daftar semua produk. Data produk diambil dari modelProduct
dan disampaikan ke tampilanproducts.index
.create()
: Metode ini menampilkan formulir untuk membuat produk baru. Tampilan formulir dapat ditemukan diproducts.create
.store(Request $request)
: Metode ini menangani penyimpanan produk baru ke basis data. Data validasi dijalankan menggunakan metodevalidate()
, kemudian produk baru dibuat menggunakan modelProduct::create($request->all())
.show($id)
: Metode ini menampilkan detail produk berdasarkan ID. Produk diambil dari modelProduct
dan disampaikan ke tampilanproducts.show
.edit($id)
: Metode ini menampilkan formulir pengeditan produk. Produk yang akan diedit diambil berdasarkan ID dan disampaikan ke tampilanproducts.edit
.update(Request $request, $id)
: Metode ini menangani pembaruan produk berdasarkan ID. Data validasi dijalankan menggunakan metodevalidate()
, lalu produk yang sesuai dengan ID diupdate menggunakan metodeupdate($request->all())
.destroy($id)
: Metode ini menghapus produk berdasarkan ID. Produk dihapus dari basis data menggunakan metodedelete()
.
Dengan controller ini, Anda dapat melakukan operasi CRUD lengkap pada data produk di tabel products
. Pastikan Anda juga memiliki tampilan yang sesuai (misalnya, index.blade.php
, create.blade.php
, edit.blade.php
, show.blade.php
) untuk menangani interaksi pengguna dengan aplikasi Anda.
Di bab berikutnya akan belajar cara membuat view sederhana agar bisa project memiliki tampilan.
Last updated