使用第三方函式庫 ========================= Yii 是精心設計的使得第三方函式庫可以輕易整合,進一步擴大 Yii 的功能。 當在一個項目中使用第三方函式庫,程式設計師往往遇到關於類別命名和檔案載入的問題。 因為所有 Yii 類別以 `C` 字母開頭,這就減少可能會出現的類命名問題;而且,因為 Yii 依賴於 [SPL autoload](http://us3.php.net/manual/en/function.spl-autoload.php) 執行類別檔案載入,它可以跟其他函式庫很好地結合,如果他們使用相同的自動加載功能或 PHP 包含路徑包含類別檔案。 下面我們用一個例子來說明如何在一個 Yii 應用程式從 [Zend framework](http://www.zendframework.com) 使用[Zend_Search_Lucene](http://www.zendframework.com/manual/en/zend.search.lucene.html) 元件。 首先,假設 `protected` 是[application base directory](/doc/guide/basics.application#application-base-directory),我們擷取 Zend Framework 的發佈檔案到 `protected/vendors` 目錄。確認 `protected/vendors/Zend/Search/Lucene.php` 檔案存在。 第二,在一個控制器類別檔案的開始,加入如下: ~~~ [php] Yii::import('application.vendors.*'); require_once('Zend/Search/Lucene.php'); ~~~ 上述程式碼包含類檔案 `Lucene.php`。因為我們使用的是相對路徑,我們需要改變 PHP 的包含路徑,以使檔案可以正確定位。這是通過在 `require_once` 之前調用 `Yii::import` 做到。 一旦上述設立準備就緒後,我們可以在控制器的動作裡裡使用 `Lucene` 類別,如下: ~~~ [php] $lucene=new Zend_Search_Lucene($pathOfIndex); $hits=$lucene->find(strtolower($keyword)); ~~~
$Id$