autoload.php
ライブラリや設定ファイル、モデルクラスなどは一度それらをロードしてから利用することになりますが、
CodeIgniterでは、予め「autoload.php」設定ファイルで自動ロード設定をしておくことで、コントローラクラスなどで
利用時にファイルをロードする記述をせずに、全てのアクセスに対して共通でロードすることができます。
しかし、全てのアクセスで自動ロードされるため、あまり使われないものを設定して自動ロードしてしまうと
余計なオーバーヘッドが発生してしまいます。
また、自動ロードでは、一つのクラスに対し一つのインスタンスしかロードされないため、
一つのクラスを複数のインスタンスで利用する場合では個別にロードする必要があります。
自動ロード設定はよく考慮してから行いましょう。
$autoload['packages']
サードパーティ製のプラグイン等のパッケージパス指定することで、パッケージに含まれるライブラリ等が利用できるようになります。
パッケージの利用方法・作成方法は別の章で説明します。
上記の自動パッケージパス設定に対し、実行時に都度設定するには以下のようにします。
$autoload['libraries']
自動ロードするライブラリクラスを設定します。
自動ロードしたいクラス名を配列で設定します。
上記の自動ロード設定に対し、実行時に都度ロードするには以下のようにします。
$this->load->library('Mylibrary', $config, 'mylib');
$autoload['helper'] 一番上に戻る
自動ロードするヘルパークラスを設定します。
自動ロードしたいファイル名から「_helpler.php」拡張子を除いたものを配列で設定します。
上記の自動ロード設定に対し、実行時に都度ロードするには以下のようにします。
$this->load->helper('file');
$autoload['config'] 一番上に戻る
自動ロードするユーザ設定ファイルを設定します。
CodeIgniterが利用するシステム設定ファイル(config.php,database.php等)は指定できません。
自動ロードしたいファイル名から「.php」拡張子を除いたものを配列で設定します。
上記の自動ロード設定に対し、実行時に都度ロードするには以下のようにします。
$this->config->load('my_config2');
または、
$this->load->config('my_config2');
とすることも可能です。
$autoload['language'] 一番上に戻る
自動ロードする言語ファイルの「_lang.php」拡張子を除いたものを配列で設定します。
「config.php」設定ファイルの「$config['language'] 」で設定した特定言語の言語ファイルが対象となります。
「$config['language'] 」で「english」を設定した場合「system/language/english/」または、
「application/language/english/」ディレクトリ内にある言語ファイルが自動ロードされます。
従って、サイトをマルチ言語化したい場合は、個別にロードする必要があります。
上記の自動ロード設定に対し、実行時に都度ロードするには以下のようにします。
$this->lang->load('date', 'english');
または、
$this->load->language('date', 'english');
「application/language/english/greeting_lang.php」及び、 「system/language/english/date_lang.php」ファイルがロードされます。
$autoload['model'] 一番上に戻る
自動ロードするモデルクラスを設定します。
自動ロードするモデルのクラス名を配列で設定します。
自動ロードする場合は、エイリアス設定、自動データベース接続が行えません。
上記の自動ロード設定に対し、実行時に都度ロードするには以下のようにします。
$this->load->model('Item');