Yii は、サードパーティのライブラリを簡単に統合して Yii の機能をさらに拡張できるように注意深く設計されています。 プロジェクトでサードパーティのライブラリを使用する場合、プログラマはクラスの名前付けとファイルのインクルードに関する問題に遭遇することがよくあります。 すべての Yii クラスは文字 C
で始まるため、これにより発生する可能性のあるクラス命名の問題が軽減されます。また、同じオートロード関数または PHP インクルード パス Class を使用する場合、Yii は SPL オートロードに依存してクラス ファイルのインクルードを実行するためです。ファイルが含まれており、うまく結合されます。 C
字母开头,这就减少可能会出现的类命名问题;而且因为Yii依赖SPL autoload执行类文件包含,如果他们使用相同的自动加载功能或PHP包含路径包含类文件,它可以很好地结合。
下面我们用一个例子来说明如何在一个Yii application从Zend framework使用Zend_Search_Lucene部件。
首先,假设protected
是application base directory,我们提取Zend Framework的发布文件到protected/vendors
目录 。 确认protected/vendors/Zend/Search/Lucene.php
文件存在。
第二,在一个controller类文件的开始,加入以下行:
Yii::import('application.vendors.*'); require_once('Zend/Search/Lucene.php');
上述代码包含类文件Lucene.php
。因为我们使用的是相对路径,我们需要改变PHP的包含路径,以使文件可以正确定位。这是通过在require_once
之前调用Yii::import
做到。
一旦上述设立准备就绪后,我们可以在controller action里使用Lucene
protected
がアプリケーションのベース ディレクトリであると仮定して、Zend Framework リリース ファイルを protected/vendors
ディレクトリに抽出します。 protected/vendors/Zend/Search/Lucene.php
ファイルが存在することを確認します。
2 番目に、コントローラー クラス ファイルの先頭に次の行を追加します。
$lucene=new Zend_Search_Lucene($pathOfIndex); $hits=$lucene->find(strtolower($keyword));
Lucene.php
が含まれています。相対パスを使用しているため、ファイルが正しく配置されるように PHP インクルード パスを変更する必要があります。これは、require_once
の前に Yii::import
を呼び出すことで行われます。 🎜🎜上記の設定が完了したら、次のようにコントローラーアクションで Lucene
クラスを使用できます: 🎜rrreee🎜上記は Yii Framework 公式ガイド シリーズ 36 - Yii の拡張: 使用法です。サードパーティ ライブラリ コンテンツ、その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜