適切に名前空間が設定され、PSR-0 であるクラスをオートロードしました。app/lib/CI に配置しました。クラスとそのファイル名は同じ「DB」です。クラス ファイル自体には、実際のクラスの前に構成ファイルが含まれています。
require( 'config.php' );
class DB {
// ...
}
静的メソッド connect を呼び出すと、::connect() 内からエラー メッセージが表示されるため、このクラスは明らかにオートロードです。問題は、含まれている config.php 内にあるグローバル変数が class::method 内で使用できないことです。
したがって、明確にするために、配列 $connection_settings は config.php 内にありますが、次を使用する場合でも:
global $connection_settings;
$connection_settings は connect メソッド内で設定されていません。
興味深いのは、クラスが自動ロードされていても、routes.php ファイルの先頭からクラスをインクルードすると、すべてが正常に機能することです。では、「通常」と見なす方法でオートローディングを機能させるために、私が正しく行っていないことは何ですか?