Menggunakan Extension

Menggunakan extension biasanya berkaitan dengan tiga langkah berikut:

  1. Download extension dari repositori extension Yii.
  2. Urai extension di bawah subdirektori extensions/xyz pada direktori basis aplikasi, di mana xyz adalah nama extension.
  3. Impor, konfigurasi dan gunakan extension.

Setiap extension memiliki nama yang secara identitas unik diantara semua extension. Extension diberi nama xyz, kita dapat menggunakan alias path ext.xyz untuk menempatkannya pada basis direktori yang berisi semua file xyz.

Extension yang berbeda memiliki persyaratan mengenai pengimporan, konfigurasi dan pemakaian. Selanjutnya, kita meringkas skenario pemakaian umum mengenai extension, berdasarkan pada kategorisasinya seperti dijelaskan dalam tinjauan.

Extension Zii

Sebelum kita mulai melihat penggunaan extension pihak ketiga, kami akan memperkenalkan pustaka extension Zii, yang merupakan kumpulan extension yang dikembangkan oleh tim developer Yii dan disertakan dalam setiap rilis.

Ketika menggunakan sebuah ektensi Zii, kita harus merujuk ke kelas bersangkutan dengan menggunakan alias path dalam bentuk zii.path.ke.NamaKelas. Di sini akar alias zii ditentukan oleh Yii. Dia akan dirujukkan ke direktori pustaka Zii. Misalnya, untuk menggunakan CGridView, kita akan menggunakan kode berikut dalam skrip view ketika merujuk ke extension:



Komponen Aplikasi

Untuk menggunakan komponen aplikasi, kita perlu mengubah konfigurasi aplikasi lebih dulu dengan menambahkan entri baru pada properti components, seperti berikut:



Selanjutnya, kita dapat mengakses komponen di mana saja mengunakan Yii::app()->xyz. Komponen ini akan dibuat secara lazy (yakni, dibuat saat diakses untuk pertama kali) kecuali kita mendaftar properti preload.

Behavior

Behavior bisa dipakai dalam semua komponen. Pemakaiannya mencakup dua langkah. Dalam langkah pertama, behavior dilampirkan ke sasaran komponen. Dalam langkah kedua, metode behavior dipanggil melalui sasaran komponen. Sebagai contoh:



Seringkali sebuah behavior dilampirkan ke komponen menggunakan cara konfiguratif alih-alih memanggil metode attachBehavior. Sebagai contoh, untuk melampirkan behavior ke sebuah komponen aplikasi, kita dapat menggunakan konfigurasi aplikasi berikut:



Kode di atas melampirkan behavior xyz ke komponen aplikasi db. Kita dapat melakukannya karena CApplicationComponent mendefinisikan properti bernama behaviors. Dengan menyetel properti ini dengan sebuah daftar konfigurasi behavior, komponen akan melampirkan behavior terkait saat ia diinisialisasi.

Untuk kelas CController, CFormModel dan CActiveModel yang biasanya harus diturunkan, melampirkan behaviors dikerjakan dengan menimpa metode behaviors(). Kelas-kelas tersebut akan terpasang secara otomatis behavior-behavior yang dideklarasi dalam metode ini ketika inisialisasi. Sebagai contoh,



Widget

Widget dipakai terutama dalam tampilan. Kelas widget yang diberiktan XyzClass dimiliki oleh extension xyz, kita bisa menggunakannya dalam sebuah tampilan seperti berikut,



Action (Aksi)

Action dipakai oleh controller untuk merespon permintaan spesifik pengguna. Kelas aksi XyzClass dimiliki oleh extension xyz, kita dapat menggunakannya dengan meng-override metode CController::actions dalam kelas controller kita:



Selanjutnya, aksi dapat diakses via rute test/xyz.

Filter

Filter juga dipakai oleh controller. Terutama pre- dan post-process permintaan pengguna saat ditangani oleh sebuah aksi. Kelas filter XyzClass dimiliki oleh extension xyz, kita dapat menggunakannya dengan meng-override metode CController::filters dalam file controller kita:



Dalam contoh di atas, kita dapat menggunakan operator plus dan minus dalam elemen pertama array untuk menerapkan filter ke action dalam jumlah terbatas saja. Untuk lebih jelasnya, silahkan merujuk ke dokumentasi CController.

Controller

Controller menyediakan satu set action yang dapat di-request oleh pengguna. Untuk menggunakan extension controller, kita perlu mengkonfigurasi properti CWebApplication::controllerMap dalam konfigurasi aplikasi:



Kemudian, action a dalam controller dapat diakses via rute xyz/a.

Validator

Validator dipakai terutama dalam kelas model (salah satu yang diperluas baik dari CFormModel ataupun CActiveRecord). Kelas validator XyzClass dimiliki oleh extension xyz, kita bisa menggunakannya dengan menimpa metode CModel::rules dalam kelas model kita:



Perintah Konsol

Extension perintah konsol biasanya meningkatkan piranti yiic dengan perintah tambahan. Perintah konsol XyzClass dimiliki oleh extension xyz, kita bisa menggunakannya dengan mengatur file konfigurasi untuk aplikasi konsol:



Selanjutnya, kita dapat menggunakan piranti yiic yang disertai dengan perintah tambahan xyz.

Catatan: Aplikasi konsol biasanya menggunakan file konfigurasi yang berbeda dari yang dipakai oleh aplikasi Web. Jika aplikasi dibuat menggunakan perintah yiic webapp, maka file konfigurasi untuk aplikasi konsol protected/yiic adalah protected/config/console.php, sementara file konfigurasi untuk aplikasi Web adalah protected/config/main.php.

Module

Silahkan merujuk ke seksi mengenai module bagaimana menggunakan module.

Komponen Generik

Untuk menggunakan komponen generik, pertama kita perlu menyertakan file kelasnya dengan menggunakan



Selanjutnya, kita dapat membuat turunan kelas, mengkonfigurasi propertinya, dan memanggi metodenya. Kita juga bisa menurunkannya untuk membuat anak kelas baru.

$Id: extension.use.txt 2890 2011-01-18 15:58:34Z qiang.xue $