我是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
未定义。我的控制器中缺少一些东西,但我不知道是什么
答案 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";
}