Heim > Artikel > Backend-Entwicklung > Offizieller Leitfaden zum Yii-Framework, Serie 36 – Erweitern von Yii: Verwendung von Bibliotheken von Drittanbietern
Yii wurde sorgfältig entwickelt, sodass Bibliotheken von Drittanbietern problemlos integriert werden können, um die Funktionalität von Yii weiter zu erweitern. Bei der Verwendung von Bibliotheken von Drittanbietern in einem Projekt stoßen Programmierer häufig auf Probleme hinsichtlich der Klassenbenennung und der Dateieinbindung. Da alle Yii-Klassen mit den Buchstaben C
beginnen, reduziert dies möglicherweise auftretende Probleme bei der Klassenbenennung. Da Yii für die Einbindung von Klassendateien auf SPL-Autoload angewiesen ist, gilt dies, wenn sie Klassendateien mit derselben Autoload-Funktion oder demselben PHP-Include-Pfad einbinden Gut kombinierbar.
Nachfolgend veranschaulichen wir anhand eines Beispiels, wie die Zend_Search_Lucene-Komponente aus dem Zend-Framework in einer Yii-Anwendung verwendet wird.
Angenommen, protected
ist das Basisverzeichnis der Anwendung, extrahieren wir zunächst die Zend Framework-Releasedateien in das Verzeichnis protected/vendors
. Bestätigen Sie, dass die Datei protected/vendors/Zend/Search/Lucene.php
vorhanden ist.
Zweitens fügen Sie die folgenden Zeilen am Anfang einer Controller-Klassendatei hinzu:
Yii::import('application.vendors.*'); require_once('Zend/Search/Lucene.php');
Der obige Code enthält KlassendateienLucene.php
. Da wir relative Pfade verwenden, müssen wir den PHP-Include-Pfad ändern, damit die Dateien korrekt gefunden werden können. Dies geschieht durch den Aufruf von require_once
vor Yii::import
.
Sobald das obige Setup fertig ist, können wir die Klasse Lucene
in der Controller-Aktion verwenden, ähnlich der folgenden:
$lucene=new Zend_Search_Lucene($pathOfIndex); $hits=$lucene->find(strtolower($keyword));
Das Obige ist der offizielle Leitfaden zum Yii Framework, Serie 36 - Erweiterung von Yii: Für Inhalte, die Bibliotheken von Drittanbietern verwenden, achten Sie bitte auf die chinesische PHP-Website (www.php.cn), um weitere verwandte Inhalte zu erhalten!