先日はControllerとViewの簡単な関係を調べてみた。
今日は、より詳しく調べてみたいと思う。
まずはviewとcontrollerのファイルをそれぞれ修正。
site/views/templates/index/index.php
<?php echo $message; ?>
site/controllers/index_controller.php
public function index()
{
$this->view->message = “コントローラーからメッセージを発信”;
}
としてサイトにアクセス。すると
こうなった。
controllerではデータを出力せず、viewでは処理ロジックを持たず、controllerとview間で情報の受け渡しを行った結果こうなる、という形である。
まとめると、データ受け渡しの書式としては、
<controller側>
$this->view->受け渡し変数名 = 受け渡し文字列
と、
<view側>
echo $受け渡し変数名
※controllerで設定した変数をphpで普通に処理できる
でOK。じつに簡単。
もちろん、view側で受け渡し変数を処理することもできることはできるが、それをやるとMVCモデルの意味がなくなるので、通常はそのまま出力するだけでいいと思う。