libro
www.tuyano.com
初心者のためのCakePHP 1.3 プログラミング入門

コントローラーとビュー (4/7)

作成:2010-02-17 13:58
更新:2010-05-10 19:02

■ビューの仕組み

実際に、http://localhost/cakesample/sample/にアクセスしてみて、ちょっと驚いたかも知れません。表示されるページは、紺色のヘッダーとフッターを備えていて、きっちりとレイアウトされた状態になっています。(下図参照)

実は、CakePHPでは、標準で「レイアウト」の機能が用意されています。レイアウトの土台となるテンプレートが用意されており、ユーザーが作ったビューは、その中にコンテンツとしてはめ込まれて表示されるのです。

○コントローラーからビューへの値の受け渡し○
ここで作ったサンプルでは、もう1つ需要なポイントが有ります。それは「値の受け渡し」です。テンプレートを見てください。ここでは、
<?php echo $title_text; ?>
こんな具合にして、$title_textという変数の値を書き出していますね。が、テンプレートのどこを見ても、こんな変数はありません。これは、実はコントローラーで用意されたものなのです。indexメソッドを見てみると、
$this->set("title_text","Sample Page");
こんな処理が書かれていることがわかります。これが、ビューに渡す変数を設定している部分なのです。ビューに何かの値を渡したい場合、コントローラー側で以下のように実行をしてやります。
$this->set( 変数名 , 値 );
これで、ビューのテンプレートでは第1引数の変数が用意されるようになります。

MVCアーキテクチャーでは、プログラムの処理とページの表示は、CとVとして明確に分けられています。が、実際問題として、コントローラーで処理を行った結果をビューで表示する、ということはよくあるでしょう。そこで、コントローラーからビューへ値を受け渡すための仕組みを用意してあるのです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。


※関連コンテンツ

「初心者のためのCakePHP 1.3 プログラミング入門」に戻る