mirror of
https://github.com/yiisoft/yii.git
synced 2026-03-13 19:46:53 +01:00
46 lines
2.0 KiB
Plaintext
46 lines
2.0 KiB
Plaintext
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](http://us3.php.net/manual/en/function.spl-autoload.php)
|
|
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](http://www.zendframework.com/manual/en/zend.search.lucene.html)
|
|
z [frameworku Zend ](http://www.zendframework.com) 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](/doc/guide/basics.application#application-base-directory).
|
|
Sprawdź czy plik `protected/vendors/Zend/Search/Lucene.php` istnieje.
|
|
|
|
Po drugi, na początku klasy kontrolera wstaw następujące linie:
|
|
|
|
~~~
|
|
[php]
|
|
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:
|
|
|
|
~~~
|
|
[php]
|
|
$lucene=new Zend_Search_Lucene($pathOfIndex);
|
|
$hits=$lucene->find(strtolower($keyword));
|
|
~~~
|
|
|
|
|
|
<div class="revision">$Id: extension.integration.txt 1622 2009-12-26 20:56:05Z qiang.xue $</div> |