【发布时间】:2012-08-04 23:19:23
【问题描述】:
我正在尝试学习 MVC 模式,(但没有模型,因为当我拥有控制器时,我看不到它们可以用来做什么)。
所以我想在我的视图中显示一些内容。我该怎么做?
这是我处理索引的控制器:
<?php
class Index extends Controller {
function __construct() {
parent::__construct();
$this->view->render('mainpage/index');
}
public function wynik($arg) {
echo $arg;
}
}
$klasa = new Index();
?>
我想在我看来调用函数 wynik($arg)。我怎样才能做到这一点?我的控制器库如下所示:
<?php
class Controller {
function __construct() {
$this->view = new View();
}
}
?>
在views/mainpage/index.php中我正在尝试这样的事情:
<?php
echo $klasa->wynik('abc');
// tried this too:
$this->wynik('abc');
?>
但它不起作用:
注意:未定义变量:第 2 行 C:\wamp\www\lvc\views\mainpage\index.php 中的 klasa
和
致命错误:在第 2 行对 C:\wamp\www\lvc\views\mainpage\index.php 中的非对象调用成员函数 wynik()
这是视图库:
<?php
class View {
function __construct() {
}
public function render($name, $noInclude = false) {
if ($noInclude == true) {
require 'views/' . $name . '.php';
} else {
require 'views/header.php';
require 'views/' . $name . '.php';
require 'views/footer.php';
}
}
}
?>
我在想 - 是的,它在 View() 类中搜索 wynik() 函数,这就是它出错的原因。我希望视图在我的控制器中搜索功能。我该怎么做?
【问题讨论】:
-
但没有模型。那你为什么不叫它VC呢?
-
不要这样做。您正在击败 MVC 的全部要点。控制器逻辑不在视图中。
-
@hakre - 我现在称它为 LVC(库、视图、控制器)。还有 meagar - 我读了很多关于模特的文章,但我就是不明白。当我有控制器时为什么要使用模型?只是更多的代码....但是我确信如果我学习如何使用控制器和视图,我也会学习如何使用模型。
-
View的render方法中的代码是什么?
-
我想我们已经到了 MVC 代表“我的代码”的地步。
标签: php oop model-view-controller