Yii Framework - Bekerja dengan Model

alfa6661
- October 22, 2013
0 (0 votes)
Rate :
Memahami penggunaan Model pada Yii Framework

Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data dan lain-lain. Model paling mudah dimengerti sebagai data, yakni data yang digunakan dan dimanipulasi. Model sering terkait dengan tabel database di mana satu model merepresentasikan satu baris data dari sebuah tabel.

Secara default, model dalam aplikasi Yii di simpan pada direktori protected/models. Pada Yii Framework terdapat dua jenis model. Pertama yang di dasarkan pada tabel database dan model yang tidak berhubungan dengan database (alternatif yang biasanya di gunakan pada form yang tidak berhubungan dengan database, contoh pada form kontak)

Dalam Yii, setiap kelas model harus mewarisi langsung dari kelas CModel, atau lebih umum dari subclass CModel. Yii mendefinisikan dua subclass : CActiveRecord dan CFormModel. CActiveRecord adalah model yang terkait dengan tabel database, dan CFormModel adalah model yang tidak terikat pada tabel database. Kedua jenis model ini memiliki tujuan yang sama :

  1. Menyimpan data
  2. Mendefinisikan aturan bisnis untuk data tersebut

Kelas Model yang mewarisi kelas CFormModel memiliki struktur umum seperti ini :

class ClassName extends CFormModel 
{
    // Attributes...
    public $someAttribute;
 
    // Methods...
    public function rules() {}
    public function attributeLabels() {}
}

Dan Kelas Model yang mewarisi kelas CActiveRecord memiliki struktur umum seperti ini :

class ClassName extends CActiveRecord 
{
    // Methods...
    public function model($className=__CLASS__) {}
    public function tableName() {}
    public function rules() {}
    public function relations() {}
    public function attributeLabels() {}
    public function search() {}
}

Seperti yang terlihat, metode rules() dan attributeLabels() di deklarasikan pada kedua jenis model di atas, karena kedua jenis model di wariskan dari kelas CModel. Pada kelas model yang mewarisi kelas CFormModel, kita harus mendeklarasikan atribut atribut yang akan digunakan, sementara pada kelas model yang mewarisi kelas CActiveRecord, kita tidak harus mendeklarasikan atribut atribut yang ada pada tabel database. Pada kelas model yang mewarisi kelas CActiveRecord ini juga, kita wajib mendeklarasikan dua metode lain yaitu :

  1. model() - Mengembalikan model static dari kelas ActiveRecord yang ditentukan
  2. tableName() - Mengembalikan nama tabel pada database

to be continued ..

Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter

– Eric S. Raymond

Have a better explanation?

If you have comments about this post. Please write your comments below

No comments associated with this article