Setelah sebelumnya kita membahas table maka sekarang saatnya kita membahas model pada tahap pengembangan dengan cakephp. Bagi yang belum tahu, ini adalah seri ke dua dari tulisan "Prinsip Dasar Pengembangan Web dengan CakePHP", seri pertama membahas tentang table, bagi yang berminat untuk membaca bagian pertama maka kamu bisa mengakses bagian pertama pada link di bagian akhir halaman ini.
2. Model
Pertama saya mau menerangkan dulu apa itu model di dalam cakephp. Model adalah sekumpulan kelas(class) yang berkaitan erat dengan layer bisnis aplikasi cakephp. Hal tersebut menyababkan model harus bisa menangani semua yang terjadi berkaitan dengan data, validasi data, interaksinya seperti save data, update, delete, dll.
Di dalam cakephp model biasanya merepresentasikan data yang terdapat di dalam database dan digunakan untuk mengakses data tersebut. Tetapi tentu saja secara lebih luas model dimungkinkan untuk berinteraksi dengan data lainnya seperti web service, email, dll.
Sebuah model bisa berhubungan dengan model lainnya di dalam cakephp misal model User yang menangani data-data pengguna bisa berhubungan dengan model Post yang digunakan untuk menangani data-data artikel, dll.
Ada beberapa hal yang bisa diperhatikan pada bagian model ini diantaranya adalah:
- Nama model adalah dalam bentuk singular atau tunggal dari nama table, misal User adalah model untuk table users, Comment adalah model untuk table comments, dll.
- Beberapa nama tidak bisa digunakan sebagai nama model, misal File tidak bisa digunakan karena di dalam core library cakephp sudah terdapat nama kelas File.
- Setiap model harus menginstansiasi kelas AppModel.
- Usahakan untuk memindahkan fungsi-fungsi yang terdapat di dalam controller ke dalam model sebagaimana prinsip "skinny controller fatten model".
- Gunakan fungsi yang ada di model cakephp untuk mengakses table, jangan menggunakan quey natif seperti "SELECT, UPDATE, INSERT, dll".
Tulisan ini masuk dalam seri:
[Seri 1 - Table] Prinsip Dasar Pengembangan Web dengan CakePHP
[Seri 2 - Model] Prinsip Dasar Pengembangan Web dengan CakePHP
[Seri 3 - View] Prinsip Dasar Pengembangan Web dengan CakePHP

Tidak ada komentar:
Posting Komentar