mirror of
https://github.com/yiisoft/yii.git
synced 2026-03-24 17:06:52 +01:00
46 lines
2.5 KiB
Plaintext
46 lines
2.5 KiB
Plaintext
サードパーティライブラリを使う
|
|
=========================
|
|
|
|
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/ja/zend.search.lucene.html)
|
|
コンポーネントを使用する方法を解説します。
|
|
|
|
まず、`protected` を
|
|
[アプリケーションベースディレクトリ](/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));
|
|
~~~
|
|
|
|
<div class="revision">$Id: extension.integration.txt 251 2008-11-19 22:28:46Z qiang.xue $</div> |