Yii は、より一層 Yii の機能性を拡張するために、
容易にサードパーティライブラリを統合できるよう、入念に設計されています。
プロジェクトでサードパーティライブラリを使用する場合、開発者は、
たびたびクラスの名前付けやファイルのインクルードに関する問題に直面します。
全ての Yii クラスは、C
から始まるので、クラスの命名問題はそれほど起こらないでしょうし、
また、Yii はクラスファイルのインクルードを行うために
SPL autoload を頼っているので、
同じオートローディング機能を使用するか、クラスファイルを含むように
PHP インクルードパスが設定されていれば、うまく他のライブラリーを動作させられます。
以下では、例として、Yii アプリケーションで Zend framework の、 Zend_Search_Lucene コンポーネントを使用する方法を解説します。
まず、protected
を
アプリケーションベースディレクトリ
と仮定し、Zend framework リリースファイルを protected/vendors
ディレクトリ以下に展開します。
protected/vendors/Zend/Search/Lucene.php
ファイルがある事を確認してください。
次に、コントローラクラスファイルの最初に、下記の行を追加します:
Yii::import('application.vendors.*');
require_once('Zend/Search/Lucene.php');
上記のコードで、クラスファイル Lucene.php
をインクルードします。
相対パスを使用するため、正しくファイルを見つけられるように PHP
インクルードパスを変える必要があります。
これは、require_once
の前に、Yii::import
をコールする事で行われます。
上記セットアップの時点で、準備が出来ているため、
下記のように、コントローラアクション中で Lucene
クラスを使用できます。
$lucene=new Zend_Search_Lucene($pathOfIndex);
$hits=$lucene->find(strtolower($keyword));
Signup or Login in order to comment.