0 follower

Używanie zewnętrznych bibliotek (ang. Using 3rd-Party Libraries)

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));