back

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

■ビューの仕組み

実際に、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として明確に分けられています。が、実際問題として、コントローラーで処理を行った結果をビューで表示する、ということはよくあるでしょう。そこで、コントローラーからビューへ値を受け渡すための仕組みを用意してあるのです。


(by. SYODA-Tuyano.)

※リストが表示されない場合

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



   

記事のリストに戻る



PC Site G+ mail