Yii är omsorgsfullt konstruerat på så sätt att tredjepartsbibliotek utan 
svårighet kan integreras för att ytterligare utöka Yii:s funktionalitet. När 
tredjepartsbibliotek används i ett projekt, stöter utvecklare ofta på problem 
rörande namngivning av klasser och inkludering av filer. Eftersom alla Yii:s 
klasser har namn som föregås av bokstaven C, är det mindre risk för att 
problem kring namngivning av klasser uppstår; och eftersom Yii förlitar sig på 
SPL autoload för 
inkludering av klassfiler, kan det friktionsfritt samexistera med andra 
bibliotek om dessa använder samma autoladdningsfiness, alternativt 
PHP-inkluderingssökväg för att inkludera klassfiler.
Nedan används ett exempel för att illustrera hur man i en Yii-applikation kan använda komponenten Zend_Search_Lucene från Zend-ramverket.
Extrahera först distributionsfilen innehållande Zend-ramverket till en katalog 
under protected/vendors, förutsatt att protected är applikationens 
rotkatalog. 
Kontrollera att filen protected/vendors/Zend/Search/Lucene.php existerar.
Sätt därefter in följande rader i början av kontrollerns klassfil:
Yii::import('application.vendors.*');
require_once('Zend/Search/Lucene.php');Ovanstående kod inkluderar klassfilen Lucene.php. Eftersom en relativ sökväg 
används, behöver PHP:s inkluderingssökväg ändras så att filen kan lokaliseras 
korrekt. Detta gör man genom att anropa Yii::import innan require_once.
När väl ovanstående grundinställning är på plats, kan Lucene-klassen användas 
i en kontrolleråtgärd (action), på följande sätt:
$lucene=new Zend_Search_Lucene($pathOfIndex);
$hits=$lucene->find(strtolower($keyword));
Signup or Login in order to comment.