CodeIgniterのビュー

ビューは表示処理を行う部分で、ユーザのブラウザにどのような情報を表示させるかを定義します。ビューは、HTTPリクエストから直接呼び出されることはなく、コントローラから呼び出される必要があります。

以下にビューの特徴を記載します。

  • PHP構文とHTMLタグで記載できる
  • ビュー同士の連携が可能で、階層構造を持たせることができる
  • ヘルパーやライブラリが直接利用できる
  • キャッシュ機能がある
  • Smartyのような擬似変数が利用できる

ビューの規則

ビューのファイル名は自由に命名することができます。ファイの後にはPHPの拡張子(.php)を付けて、『application/views』ディレクトリに保存します。

ビューの使い方

ビューファイルを読み込むには『$this->load->view(第1引数,第2引数,第3引数);』メソッドを使います。第1引数には、PHPの拡張子を抜いたビューファイル名を指定します。第2引数と第3引数はオプションです。第2引数は、ビューにデータを渡すための配列またはオブジェクトを指定します。第3引数は『TRUE』か『FALSE』を指定します。省略すると『FALSE』が代入され、結果がブラウザに表示されます。『TRUE』を指定すると文字列として結果が返りますので、必ず変数に代入して下さい。

それでは実際に作成してみましょう。Eclipse/PDTを起動します。『CodeIgniter/aplication/views』を右クリックします。新規→PHPファイルとクリックします。

ファイル名を入力して、『完了』ボタンをクリックします。

以下のような簡単なコードを入力し、保存します。

次にコントローラを作成します。ビューファイルを作成したときと同じように『CodeIgniter/aplication/contorollers』フォルダを右クリックし、新規→PHPファイルとクリックします。ファイル名を『sample01.php』と入力し、『完了』ボタンをクリックします。

以下のような簡単なコードを入力します。

class Sample01 extends CI_Controller{
function index()
{
$data['title']='ビューのテスト';
$data['contents']='これはビューのテストです';
$this->load->view('view_sample01',$data,FALSE);
}
}

それでは実際にブラウザで表示してみましょう。ブラウザに『http://localhost/CodeIgniter/sample01/』と入力します。

それでは第3引数が『TRUE』の場合を見てみましょう。新しいメソッドを追加します。

ブラウザで確認してみます。『http://localhost/CodeIgniter/sample01/view_true/』と入力します。

以上実行結果はほとんど変わりませんが、使い方が異なりますので注意してください。

マルチビュー

ビューは複数利用することができます。表示順はビューのロードされた順序に従います。

それでは、マルチビューの例を作成してみます。『application/views』に新しいディレクトリ『winroad』を作成して、そこに『index.php』、『header.php』、『main.php』、『footer.php』を作成します。

index.php

header.php

main.php

footer.php

そして次にコントローラを作成します。コントローラは『application/controllers』の中に、『sample02.php』を作成して、以下のようにコードを入力します。

sample02.php

それでは実際にブラウザを確認してみましょう。『http://localchost/CodeIgniter/sample02/』と入力します。

生成されたHTMLソースを確認してみましょう。独立したビューのパーツが一つになっています。

このように、複数のビューを組み合わせることにより、コンテンツ部分のみを個別で用意すれば、複数のページで同じヘッダやフッタを利用して、ファイル数や開発工程を減らすことができます。

ループ

ビューファイルに配列を渡すと、複数の行をループして表示することができます。データベースからの問い合わせ結果を配列として受け取り、ビューでループさせる場合などに役立ちます。

タグ

2011年6月23日 | コメント/トラックバック(0) |

カテゴリー:CodedIgniter

このページの先頭へ