0 follower

Folosirea bibliotecilor 3rd-Party

Yii este proiectat foarte atent pentru a permite integrarea usoara a bibliotecilor third-party, pentru a extinde functionalitatea Yii. Atunci cand folosim biblioteci third-party intr-un proiect, intampinam de obicei probleme in legatura cu includerea fisierelor si denumirea claselor. Deoarece toate clasele Yii sunt prefixate cu litera C, este putin probabil sa apara vreun conflict de denumire; si pentru ca Yii se bazeaza pe SPL autoload pentru a executa includerea fisierelor claselor, se poate descurca usor cu alte biblioteci daca si ele folosesc acelasi feature de autoloading sau PHP include path pentru a include fisierele claselor.

Mai jos folosim un exemplu pentru a arata cum sa folosim componenta Zend_Search_Lucene din platforma Zend in interiorul unei aplicatii Yii.

Mai intai, vom extrage fisierul platformei Zend intr-un director sub protected/vendors, presupunand ca protected este directorul de baza al aplicatiei. Verificam daca exista fisierul protected/vendors/Zend/Search/Lucene.php.

Apoi, la inceputul fisierului cu clasa controller-ului, inseram urmatoarele linii:

Yii::import('application.vendors.*');
require_once('Zend/Search/Lucene.php');

Codul de mai sus include fisierul Lucene.php. Deoarece folosim o cale relativa, trebuie sa modificam calea PHP include path pentru ca acest fisier sa fie localizat corespunzator. Acest lucru il facem prin apelarea Yii::import inainte de require_once.

O data ce toate de mai sus sunt pregatite, putem folosi clasa Lucene intr-un action al unui controller in felul urmator:

$lucene=new Zend_Search_Lucene($pathOfIndex);
$hits=$lucene->find(strtolower($keyword));