先日はControllerとViewの簡単な関係を調べてみた。
今日は、より詳しく調べてみたいと思う。

参考:本家様サイト – マニュアル:Viewについて

まずはviewとcontrollerのファイルをそれぞれ修正。

site/views/templates/index/index.php

<?php echo $message; ?>

site/controllers/index_controller.php

public function index()
{
$this->view->message = “コントローラーからメッセージを発信”;
}

としてサイトにアクセス。すると

img11

こうなった。
controllerではデータを出力せず、viewでは処理ロジックを持たず、controllerとview間で情報の受け渡しを行った結果こうなる、という形である。

まとめると、データ受け渡しの書式としては、

<controller側>
$this->view->受け渡し変数名 = 受け渡し文字列

と、

<view側>
echo $受け渡し変数名
※controllerで設定した変数をphpで普通に処理できる

でOK。じつに簡単。
もちろん、view側で受け渡し変数を処理することもできることはできるが、それをやるとMVCモデルの意味がなくなるので、通常はそのまま出力するだけでいいと思う。