从控制器到视图的对象

时间:2015-11-16 21:01:30

标签: php model-view-controller

我是PHP和MVC模式的新手。我尝试做一个显示图像的应用程序。这是我在我的控制器中所做的:

protected function setImg() {
    global $id, $size;  
    $imgDAO = new ImageDAO();

        if (isset($_GET["id"])) {
            $imgId = $_GET["id"];
            $img = $imgDAO->getImage($imgId);
            var_dump($img);
        } else {
            $img = $imgDAO->getFirstImage();
            $imgId = $img->getId();
        }
        if (isset($_GET["size"])) {
            $size = $_GET["size"];
        } else {
        $size = 480;
    }
}

function viewPhoto() {
            global $id, $size;
            $this->getParam();
            $this->setImg();
            require_once("view/viewPhoto.php");
}

在我看来,我试图通过路径显示图像:

<?php $imgURL = $img->getURL();
            print "<img src=\"$imgURL\" width=\"$size\">\n";
            ?>

$img未定义。我的控制器中缺少一些东西,但我不知道是什么

1 个答案:

答案 0 :(得分:0)

它应该是$this->img = $imgDAO->getImage($imgId); $this->img = $imgDAO->getFirstImage(); //不是$ img = ...

就我而言

//  bootstrap

$model = new Model();
$controller = new Controller($model);

//Controller.php

function __construct($model) {
    $this->model = $model;
    $this->view = new View($model);
}

// This way the controller would call

$this->view->show_picture($this->img->getURL());

// View

function __construct($model) {
    $this->model = $model;
}

function show_picture($imgUrl) {
    print "<img src=\"$imgURL\" width=\"$size\">\n";
}