Banyak yang menggunakan framework Codeigniter, tapi melupakan peran model. Sehingga mereka menulis code se'enaknya mereka. Ada yang naruh di controller, dan yang paling parah di bagian view.
Mari kita tengok ke dokumentasi resminya, apa sih yang model itu?
Models are PHP classes that are designed to work with information in your databaseNah, begitulah model menurut dokumentasinya. Kalo kita mau buat query database, seperti untuk membaca, update, hapus atau insert, idealnya sih disimpen di model.
Saya sering menemukan code, tidak sedikit yang masih menuliskan query di controller atau lebih parahnya ditulis di view.
Lo, emangnya kenapa? kan yang penting aplikasi selesai dan client atau bos kita happy.
Jadi, jangan di tempatkan di sembarang tempat.
Kalo kita hanya membuat aplikasi untuk diri kita sendiri atau kita kerja hanya sendiri itu mungkin tidak terlalu masalah. Tapi, kalo kita bekerja secara tim, itu yang akan menimbulkan masalah.
Emang kamu mau semuanya ngerjain sendiri? dari frontend yang ngurusin javascript, css, dan tampilan responsive sampai backend, ngurusin logic aplikasi dan database. ah uda pasti gak mau kan.
Menurutmu orang-orang yang bekerja di frontend, yang seharusnya mengurus tampilan harus mengerti source code yang kamu tulis di view? kalo terjadi error, nanti kamu yang marah-marah. gak boleh gitu dong. Itu bukan urursan mereka.
Bukankah kita menggunakan framework agar code yang buat mudah di maintenance? framework itu sudah menyediakan struktur dan arsitektur. Semuanya tinggal pakai. Sehingga ketika bekerja dalam tim, kita semua sudah paham, dimana controller, model untuk mengakses database, file utility dan lain sebagainya. Itu sudah diatur oleh framework. Tapi, kalo misal kita menempatkannya dimana-mana, jadi tentu sulit untuk menemukan source codenya jika terjadi bug dalam aplikasi.
Memang framework Codeingiter itu tidak terlalu strict banget ya. Kita dapat memanggil model, library dimanapun. Di controller, helper bahkan di view bisa dipanggil. Framework ini tidak akan komplen atau menyebabkan aplikasi menjadi error. Tapi, kalo kita bekerja dalam tim, kita tidak bisa begitu. Perlu ada pengaturan atau kesepatakan yang harus dipatuhi oleh semua member agar aplikasi yang kita buat selain berjalan dengan benar, aplikasi juga mudah untuk di maintence.
Semua model, di extends dari kelas CI_model. Contoh:
Untuk dapat menggunakan/memanggil kelas model seperti diatas, kita memanggilnya dengan cara seperti ini:
Jadi, kita jangan nyimpen query dimana aja. Kadang aku lihat ada yang nyimpen di controller, ada juga yag nyimpe di view. Ya, memang tidak masalah ketika kode itu dijalankan. Dengan tujuan untuk mempermudah, dan tidak mengulangi code yang sama dengan kode yang sama, kita gunakan model.
Memang framework Codeingiter itu tidak terlalu strict banget ya. Kita dapat memanggil model, library dimanapun. Di controller, helper bahkan di view bisa dipanggil. Framework ini tidak akan komplen atau menyebabkan aplikasi menjadi error. Tapi, kalo kita bekerja dalam tim, kita tidak bisa begitu. Perlu ada pengaturan atau kesepatakan yang harus dipatuhi oleh semua member agar aplikasi yang kita buat selain berjalan dengan benar, aplikasi juga mudah untuk di maintence.
Tapi, dengan cara seperti itu code jadi berantakan coy. Misal kita memanggil library database di view, wah itu akan merepotkan yang ngoding frontend. Kasian tu, kan mereka belum tentu tau tentang kodingan kita. Mungkin mereka hanya tau tentang html, css dan javascript.
[contoh kode]
Selain itu, code akan menjadi sulit di menten. Dengan kode yang berserakan dimana-mana, jika ada salah satu yang error, maka Anda harus memeriksa semuanya.
Semua model, di extends dari kelas CI_model. Contoh:
query diatas menggunakan fungsi active record, jadi pastikan kamu load dulu class database ya.Model disimpan di folder application/models.
Untuk dapat menggunakan/memanggil kelas model seperti diatas, kita memanggilnya dengan cara seperti ini:
Jadi, kita jangan nyimpen query dimana aja. Kadang aku lihat ada yang nyimpen di controller, ada juga yag nyimpe di view. Ya, memang tidak masalah ketika kode itu dijalankan. Dengan tujuan untuk mempermudah, dan tidak mengulangi code yang sama dengan kode yang sama, kita gunakan model.
Tidak ada komentar:
Posting Komentar