Yii didesain secara hati-hati agar pustaka pihak-ketiga(third-party library) dapat dengan mudah
diintegrasikan untuk lebih memperluas fungsionalitas Yii.
Ketika menggunakan pustaka pihak ketiga dalam sebuah projek, para pengembang
sering menghadapi masalah mengenai penyertaan penamaan kelas dan file.
Karena semua kelas Yii diawali dengan huruf C
, maka masalah penamaan
kelas akan jarang terjadi; dan karena Yii tergantung pada
SPL autoload
untuk melakukan penyertaan file kelas, Yii akan sejalan dengan pustaka lain
jika mereka menggunakan fitur autoloading yang sama atau PHP include path untuk
menyertakan file kelas.
Di bawah ini kami menggunakan sebuah contoh guna menggambarkan bagaimana memakai komponen Zend_Search_Lucene dari Zend framework dalam aplikasi Yii.
Pertama, kita mengurai file rilis Zend framework ke sebuah direktori di
protected/vendors
, menganggap bahwa direktori protected
adalah
direktori basis aplikasi.
Pastikan bahwa file protected/vendors/Zend/Search/Lucene.php
ada di sana.
Kedua, pada awal file kelas controller, sisipkan baris berikut:
Yii::import('application.vendors.*');
require_once('Zend/Search/Lucene.php');
Kode di atas menyertakan file kelas Lucene.php
. Karena kita menggunakan
path relatif, kita perlu mengubah path include PHP agar file bisa ditempatkan
dengan benar. Ini dilakukan dengan memanggil Yii::import
sebelum require_once
.
Setelah kode di atas siap, kita dapat menggunakan kelas Lucene
dalam aksi controller,
seperti berikut:
$lucene=new Zend_Search_Lucene($pathOfIndex);
$hits=$lucene->find(strtolower($keyword));
Untuk menggunakan pustaka (library) yang memiliki namespace sesuai standar PSR-0 (seperti Zend Framework 2 or Symfony2), Anda harus mendaftarkan root-nya sebagai path alias.
Sebagai contoh kita akan menggunakan Imagine.
Jika kita meletakkan direktori Imagine
di dalam protected/vendors
maka kita akan
mampu menggunakannya seperti berikut ini:
Yii::setPathOfAlias('Imagine',Yii::getPathOfAlias('application.vendors.Imagine'));
// Kemudian mulai menulis code sesuai panduan Imagine:
// $imagine = new Imagine\Gd\Imagine();
// dan lain-lain.
Pada code di atas, nama dari alias yang sudah kita definisikan harus cocok dengan namespace pertama yang digunakan di dalam pustaka.
Yii juga bisa dijadikan sebagai pustaka tersendiri untuk mendukung pengembangan dan menyokong sistem pihak ketiga, seperti Wordpress, Joomla dan lain-lain. Untuk melakukannya, sertakan kode berikut di bootsrap code dari sistem pihak ketiga:
require_once('path/to/yii.php');
Yii::createWebApplication('path/to/config.php');
Kode di atas sangat mirip dengan bootstrap code yang digunakan aplikasi Yii
pada umumnya kecuali satu hal, dia tidak memanggil method run()
setelah membuat
instance aplikasi web.
Sekarang kita dapat menggunakan fitur yang ditawari Yii ketika mengembangkan aplikasi pihak ketiga. Misalnya,
kita dapat menggunakan Yii::app()
untuk mengakses instance aplikasi; kita dapat menggunakan fitur database
seperti DAO dan ActiveRecord; kita dapat menggunakan model dan fitur validasi dan lain-lain.
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.