1

同じ codeigniter システムを使用し、いくつかの共通モデル、ライブラリ、さらには構成ファイルを異なる Web サイト間で共有したいプロジェクトをセットアップしています。

システム フォルダーと圧縮ファイルを docs/include/codeigniter のアプリケーション フォルダーに配置し、すべての Web サイトのインデックス ファイルでシステム フォルダーのパスを定義します。このアプリケーション フォルダーのモデル、ライブラリ、構成ファイルを使用するには、 https: //www.codeigniter.com/userguide3/libraries/loader.html の add_package_path() 関数を使用する必要があると考えています。

しかし、できるだけ早くロードされるようにするには、この呼び出しをどこに置くことができますか? autoload.php 構成ファイルを共有できるようにしたいのですが、インデックス コントローラーのコンストラクターでこのメソッドを呼び出すとエラーが発生します。これは、CI がコントローラーのロードを開始する前に構成ファイルの一部を使用する必要があるためです。 .

4

1 に答える 1

0

を使用した解決策はわかりませんがadd_package_path()、これはうまくいく可能性があります:

構成

まず、 をチェックしapplication/config/autoload.phpてください$autoload['config']

何らかの理由で目的に合わない場合: CodeIgniter 構成ファイルも単なる PHP ファイルです。したがって、独自のファイルを作成して、CodeIgniter プロジェクトの構成ファイルでcommon_config.php使用することができます。require '../some_common_folder/common_config.php';

モデル

もう一度、 を参照application/config/autoload.phpしてください$autoload['model']

function __autoload($classname) {}各 CodeIgniter プロジェクトのindex.phpファイルで独自のものを定義することもできます。ここで、必要なものをロード/要求/インクルードできます。

于 2013-11-04T13:49:09.157 に答える