ローダ(読み込み処理)クラス
ローダは、その名のとおり、要素をロードするために使用されます。要素とは、ライブラリ (クラス) ビューファイル、ヘルパ、プラグイン、あるいは、ユーザファイルになります。
Note:このクラスは、システムで自動的に初期化されるので、手動で初期化する必要はありません。
このクラスでは下記のメソッドが利用できます:
$this->load->library('class_name', $config, 'object name')
このメソッドはコアのクラスを読み込むために使われます。ここでの class_name は読み込みたいクラスの名前になります。Note: "クラス" と "ライブラリ"は同じ意味として使っています。
たとえば、CodeIgniterでメールを送信したいとしたら、最初のステップは、次のようにemailクラスをコントローラで読み込むことです:
$this->load->library('email');
ロードすると、ライブラリを $this->email->some_function() などとして使う準備ができたことになります。各ライブラリは、それらの解説ページで説明していますので、使いたいそれぞれのクラスについての情報をお読みください。
ライブラリファイルは、メインの"libraries"フォルダ内か、アプリケーション独自の application/libraries フォルダ内にサブディレクトリを設置し、そこに保存することが出来ます。サブディレクトリ内のファイルをロードするには、単純に"libraries"フォルダ内のパスを含めます。例えば、以下のようにファイルが配置されているなら:
libraries/flavors/chocolate.php
利用するには以下のようにロードします:
$this->load->library('flavors/chocolate');
ファイルを置けるサブディレクトリの階層の数と深さに制限はありません。
オプション設定
第2引数(オプション)で、任意の設定情報を渡す事が出来ます。通常これらは配列として渡されます:
$config = array (
'mailtype' => 'html',
'charset' => 'utf-8,
'priority' => '1'
);
$this->load->library('email', $config);
設定ファイルで設定情報を定義する事も出来ます。各ライブラリのページで説明されていますので、利用したいライブラリのページをご覧ください。
ライブラリに別名を割り当てる
第3引数(オプション)が指定されていなければ、ライブラリには通常、ライブラリと同じ名前がオブジェクト名として割り当てられます。例えば、ライブラリ名が Session であれば、$this->session という変数が割り当てられます。
自分自身でクラス名を指定したいなら、第3引数でその値を渡す事が出来ます:
$this->load->library('session', '', 'my_session');
// Session クラスにアクセスするには、以下のようになります:
$this->my_session
$this->load->view('file_name', $data, true/false)
このメソッドは、ビューファイルをロードするために使用します。ユーザガイドの ビュー のセクションをまだ読んでいない場合は、このメソッドの典型的な使い方を説明しているので、読んでみることをおすすめします。
第1引数は必須です。第1引数は読み込みたいビューファイルの名前になります。Note:php ファイルの拡張子は不要で、指定する名前は.phpを除いたものになります。
オプションの第2引数は、連想配列またはオブジェクトを入力とします。指定した連想配列またはオブジェクトは、ビューファイルの中で使用するために、PHPのextract 関数を使用して変数に変換されます。再度いいますが、使い方を説明したビューの解説ページをお読みください。
オプションの第3引数はブラウザにデータを送信するのではなく、文字列としてデータを返すようメソッドの振る舞いを変えるものです。これは、何らかの方法でデータを処理したいときに役立ちます。パラメータを true (ブール値) にセットしたとき、データを返します。デフォルトの動作は、ブラウザにデータを送信する設定の false になっています。データを返すようにしたときは、変数に代入するのを忘れないでください:
$string = $this->load->view('myfile', '', true);
$this->load->model('Model_name');
$this->load->model('Model_name');
もし、モデルファイルがサブフォルダに置かれている場合、モデルフォルダからの相対バスで指定してください。例えば、モデルファイルが、application/models/blog/queries.php にある場合、以下のようにロードします:
$this->load->model('blog/queries');
もし、モデルオブジェクトに別の名前を付けたい場合は、loadメソッドの第2引数で指定できます:
$this->load->model('Model_name', 'fubar');
$this->fubar->function();
$this->load->database('options', true/false)
このメソッドで、データベースクラスをロードできます。第2引数は、オプションです。詳細は、データベースのセクションをご覧ください。
$this->load->scaffolding('table_name')
このメソッドで、スカッフォールディング(scaffolding) を有効にできます。詳しくは、スカッフォールディング(scaffolding) のセクションをご覧ください。
$this->load->vars($array)
このメソッドは、連想配列を入力として、PHPのextract関数を使って変数を生成します。上の $this->load->view() メソッドの第2引数を使った場合と同じ結果が生成されます。このメソッドを上とは独立に使う理由は、コントローラのコンストラクタでグローバル変数をセットし、それらをどんなビューファイルのどんなメソッドからも利用できるようにするためです。このメソッドは複数回呼び出すことができます。データは変数に変換するために一つの配列にキャッシュされマージされます。
$this->load->helper('file_name')
このメソッドで、ヘルパファイルをロードします。ここでの file_name は_helper.php の拡張子[ 訳注:およびサフィックス ] を除外したファイルの名前です。
$this->load->plugin('file_name')
このメソッドで、プラグインファイルをロードします。ここでの file_name は_plugin.php の拡張子[ 訳注:およびサフィックス ] を除外したファイルの名前です。
$this->load->file('filepath/filename', true/false)
これは、汎用のファイルロードメソッドです。ファイルのパスと名前を第1引数で指定すると、そのファイルが開かれ、読み込まれます。デフォルトでは、ちょうどビューファイルのように、データはブラウザに送信されますが、第2引数に true (ブール値)をセットすると、代わりにデータを文字列として返すようになります。
$this->load->lang('file_name')
このメソッドは、言語の読み込みメソッドへのエイリアス(別名)です: $this->lang->load()
$this->load->config('file_name')
このメソッドは、設定ファイルの読み込みメソッドのエイリアス(別名) です: $this->config->load()