Yii jest starannie zaprojektowane, tak że zewnętrzne biblioteki można z łatwością
zintegrować do dalszego rozszerzania funkcjonalności Yii.
Podczas używania zewnętrznych bibliotek w projekcie, deweloperzy często spotykają
się z problemami związanymi z nazywaniem klas oraz z dołączaniem plików.
Ponieważ wszystkie klasy Yii są poprzedzone literą C
, jest mniej prawdopodobne,
że wystąpi problem z nazewnictwem klas; a ponieważ yii polega na
SPL autoload
aby wykonać włączenia pliku, może lepiej działać z innymi bibliotekami, które
używają tej samej funkcjonalności lub ścieżki w PHP include do dołączania plików klas.
class files.
Poniżej użyjemy przykładu aby zilustrować jak używać komponentu Zend_Search_Lucene z frameworku Zend w aplikacji Yii.
Po pierwsze, rozpakowujemy plik z wydaniem frameworku Zend do katalogu protected/vendors
,
zakładając, że protected
jest
głównym folderem aplikacji.
Sprawdź czy plik protected/vendors/Zend/Search/Lucene.php
istnieje.
Po drugi, na początku klasy kontrolera wstaw następujące linie:
Yii::import('application.vendors.*');
require_once('Zend/Search/Lucene.php');
Powyższy kod dołączył plik klasy Lucene.php
. Ponieważ używamy ścieżki relatywnej
potrzebujemy zmienić ścieżkę include PHP, tak aby plik mógł zostać zlokalizowany poprawnie.
Można to zrobić poprzez wywołanie Yii::import
przed require_once
.
Kiedy już powyższy "montaż" jest gotowy, możemy uzyć klasy Lucene
w akcji kontrolera
w następujący sposób:
$lucene=new Zend_Search_Lucene($pathOfIndex);
$hits=$lucene->find(strtolower($keyword));
Signup or Login in order to comment.