2

複数のサイトに中央 CI セットアップを使用したいと考えています。これを処理する方法は、MPACK というパッケージを作成し、それを各サイトの構成ファイルに自動ロードするように追加することです。

フォルダ構造:

/主要

/system (CI 2 システム フォルダー)

/MPACK

/サイト1

/応用

サイト2

/応用

この MPACK 内には、共有ライブラリ、モデル、ヘルパーなどがあります。

ただし、すべてのサイトに共通する拡張 MY_Form_Validation が必要です。/MPACK/libraries へのクラス ファイルの追加に失敗します。/site1/application に追加すると、期待どおりに正常に動作します。

これを MPACK 内で拡張する方法はありますか?

お時間をいただきありがとうございます。

4

1 に答える 1

0

これを試してください:

// Placed your MY_Form_validation.php under MPACK/libraries
$this->load->add_package_path('/path/to/MPACK');
$this->load->library('form_validation');

詳細については、CodeIgniter User Guide - Loader Classを参照してください。:)

でパッケージを自動ロードすることもできます/application/config/autoload.php:$autoload['packages'] = array('/path/to/MPACK');

EDIT : Loader は常に最初に APPPATH と BASEPATH を検索し、このコア クラスを変更しても何かが壊れないかどうかわからないため、上記の解決策が機能しないことが判明しました。理論上の別の解決策は次のとおりです。

MPACK フォーム検証ライブラリが必要であり、サイトのフォーム検証ライブラリは MPACK へのシンボリック リンクである必要があります。

/site1/application/MY_Form_validation.php -> /MPACK/libraries/MY_Form_validation.php

MPACK のすべてを使用し、/site1 または /site2 には特に何も使用しない場合は、フォルダー リンクを作成するだけです。

/site1/application/libraries/ -> /MPACK/application/libraries/

この助けを願っています=)

ここで詳細を読むことができます: http://codeigniter.com/wiki/Multiple_Applications_via_Symlinks/

于 2012-05-25T19:14:32.383 に答える