1

私は自分の yii アプリケーションを solarium 拡張機能 (PHP の solr の拡張機能) で拡張しようとしています。

ただし、拡張機能のライブラリには複数のサブディレクトリがありました。その結果、次のような特定のサブディレクトリからファイルを含める必要があります。

Yii::import('application.extensions.Library.Solarium.*');
Yii::import('application.extensions.Library.Solarium.Client.*');
Yii::import('application.extensions.Library.Solarium.Client.RequestBuilder.*');

これは、すべてのファイルを含めたかどうかに関係なく、醜いコードと予測不可能性につながります。現在アクションでこれを行っていますが、後で本番用に構成に移動します。ディレクトリとサブディレクトリからすべてのファイルを含める便利な方法は他にありますか? 多くのサブディレクトリがあるため、それぞれに言及すると 20 ~ 30 行のコードになります。1 つのオプションは、本番用にすべてのライブラリ ファイルを 1 つのディレクトリに配置することです。ただし、それが機能に影響を与えるかどうかはわかりません(私は一般的に拡張機能/ライブラリの実装に「新しい」です)。

4

1 に答える 1

2

サードパーティのクラスを Yii に追加するときは protected/components//protected/components/solr.

次に、メイン構成で、次の行をインポートセクションに追加します。

'import' => array(
      'application.components.solr.*',
      ...

しかし、各サブフォルダを 1 つずつ追加する必要があります。これはパフォーマンスの問題によるものです。Yii の開発者はいくつかのリリースで再帰インポートを削除しました。それが面倒だと思うなら、名前空間を使ってやりたいことができますが、PHP 5.3 が必要です。

于 2012-12-23T21:28:18.503 に答える