2

尝试学习 PHP MVC。到目前为止一切顺利,直到这一刻。我的 ./controllers/index.php 中有这样的功能

<?php
class Index extends Controller {

    function __construct() {
        parent::__construct();
    }

    function showFeeds() {
        return 'done';
    }

}
?>

我知道如何调用模型类并在模型类上运行 showFeed()。我的问题是如何在我的 ./views/index.php 上打印“完成”。有什么选择。

我已经尝试了下面列出的一些。但没有运气。

  1. 父::showFeeds()
  2. $this->controller->showFeeds();
4

4 回答 4

3

最后我解决了我的问题

页:/controllers/index.php

<?php
class Index extends Controller {

    function __construct () {
        parent::__construct ();
    }

    function showFeeds () {
        return 'done';
    }

}
?>

页:./views/index/index.php

<?php
$_index = new Index ();
$params = $_index -> showFeeds ();
?>
于 2013-09-16T16:49:46.727 回答
2

你最好使用 MVC 的 PHP 框架

几个框架是:

Codeigniter , ZendCakePHP

这些框架使用具有自己语法的 MVC,因此使用起来非常简单。我个人使用 Codeigniter,它相当简单

例如,在 codeigniter 中,您可以这样做:

控制器:

function showFeed(){

$data['done'] = 'Done';
$this->load->view('yourview', $data);

}

看法:

<?php echo $done; ?>
于 2013-07-02T12:40:36.313 回答
0

在 MVC 中,一般来说,控制器应该处理模型,获取视图,设置视图的数据,然后调用视图或返回视图来渲染视图。

您要做的是从视图回调控制器。我建议showFeeds()进入模型。在控制器中,调用模型获取结果showFeeds()并将值传递给视图,最后调用视图进行渲染。

于 2013-07-02T12:45:07.863 回答
0

通常,您的控制器将生成视图。要生成,视图将需要参数,这些参数通常是要显示的数据。

例如,使用 HelloWorld 控制器,概念将如下所示:

class HelloWorldController extends Controller {
    function indexAction($name) { // The index page of your site for example
        return $this->getView()->render('helloworld.html', array('name' => $name))
    }
}

然后在您看来,您将打印类似 "Hello" 的内容。$name 这是您在渲染函数中传递的名称。

于 2013-07-02T12:46:10.627 回答