Files
yii/docs/guide/id/extension.integration.txt
2010-11-14 14:17:44 +00:00

47 lines
2.0 KiB
Plaintext

Menggunakan Pustaka Pihak Ketiga
================================
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](http://us3.php.net/manual/en/function.spl-autoload.php)
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](http://www.zendframework.com/manual/en/zend.search.lucene.html)
dari [Zend framework](http://www.zendframework.com) dalam aplikasi Yii.
Pertama, kita mengurai file rilis Zend framework ke sebuah direktori di
`protected/vendors`, menganggap bahwa direktori `protected` adalah
[direktori basis aplikasi](/doc/guide/basics.application#application-base-directory).
Pastikan bahwa file `protected/vendors/Zend/Search/Lucene.php` ada di sana.
Kedua, pada awal file kelas kontroler, sisipkan baris berikut:
~~~
[php]
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 kontroler,
seperti berikut:
~~~
[php]
$lucene=new Zend_Search_Lucene($pathOfIndex);
$hits=$lucene->find(strtolower($keyword));
~~~
<div class="revision">$Id: extension.integration.txt 1622 2009-12-26 20:56:05Z qiang.xue $</div>