[ASK & SHARE] penamaan function Controller ketika membuat CRUD

[ASK & SHARE] penamaan function Controller ketika membuat CRUD:

Dulu, ketika saya membuat sebuah controller untuk melakukan proses CRUD pada CodeIgniter, saya menggunakan opsi A. Tetapi, sekarang saya mulai beralih kepada opsi B. Karena prosesnya terpisah-pisah seperti 1 fungsi mempunyai 1 tugas.

A. 1. create -> untuk menampilkan form tambah data dan sekaligus memproses penyimpanan data. 2. update -> untuk menampilkan form ubah data dan sekalgus memproses pengubahan data. 3. delete -> untuk melakukan penghapusan data

B. 1. create -> untuk menampilkan form tambah data 2. store -> untuk melakukan proses penyimpanan data 3. edit -> untuk menampilkan form ubah data 4. update -> untuk melakukan proses pengubahan data 5. delete -> untuk melakukan penghapusan data

Saya mendapat ide dari opsi B ketika latihan membuat aplikasi sederhana menggunakan Laravel (Buku Seminggu belajar Laravel). Di dalam buku tersebut, penulis menjelaskan bahwa penerapan opsi B ini merupakan salah satu hal yang baik ketika ingin menerapkan Restful atau sesuatu yang berkaitan dengan API (mohon maaf saya lupa di halaman berapa). Bagaimana pendapat teman-teman dengan opsi B?

avatar satyakresna
@satyakresna

82 Kontribusi 55 Poin

Diperbarui 8 tahun yang lalu

2 Jawaban:

Jawaban Terpilih

gan, kalau RESTful. sy pribadi, dipisahkan antara controller utk render halaman sama controller API. karena dua itu beda gan. umpamain kalau yg ngakses API bukan web, tapi mobile app. si API butuh otentifikasi gan, ga bagus kalau sembarang kebuka, minimal pakai OAuth otentifikasinya kalau pembagian API standard restful dah jelas, kynya ga kan jauh bedanya setiap programmer

GET -> read GET -> read->detail (kadang ga butuh juga) POST -> create PUT -> update DELETE -> delete

tapi banyak juga yg ga ngikutin standard RESTful (termasuk saya), alias CRUD-nya dimap ke GET dan POST saja. Cuman tetep gan, umumnya controller bagian API ya isinya API aja ga dicampur sama render halaman web, karena beda memang fungsinya. Susunan saya pribadi (maaf kalau agak beda sy pakainya Codeigniter);

1. SiteController -> isinya utk render semua halaman public web 2. MemberController -> isinya utk render semua halaman web yg hanya diakses Member terdaftar 3. AdminController -> isinya utk render semua halaman administrator panel/dasbor 4. Sy bikin folder API -> isinya ada banyak controller API, yg umumnya berisi operasi CRUD 5. model dapat digunakan baik oleh Controller render halaman maupun API

dengan susunan begini kita bisa lebih mudah menempatkan otoritas dan otentifikasi per controller. Karena yg API terdiri dari banyak controller, maka fungsi-fungsi otoritas dan otentifikasi di inherit dari modul utama. Jadi tujuan utk reusable agak lebih mudah kalau struktur begini dan masih banyak struktur lain yg lebih OK, tergantung selera aja

tips: kalau agan bikin-nya website, utk operasi READ jgn pakai API-AJAX (Web Service), tapi di render biasa aja datanya jadi HTML pakai PHP. nanti ga kebaca sama google konten-nya. CREATE, UPDATE, DELETE aja yg lewat API-AJAX

avatar QaiserLab
@QaiserLab

366 Kontribusi 390 Poin

Dipost 8 tahun yang lalu

Jadi, makin terbuka pikiran saya. Terima kasih mas sudah berbagi tips dan ilmunya.

avatar satyakresna
@satyakresna

82 Kontribusi 55 Poin

Dipost 8 tahun yang lalu

Login untuk ikut Jawaban