尝试学习PHP MVC。到目前为止一直很好,直到这一刻。我在./controllers/index.php
中有这样的功能<?php
class Index extends Controller {
function __construct() {
parent::__construct();
}
function showFeeds() {
return 'done';
}
}
?>
我知道如何调用模型类并在模型类上运行showFeed()。我的问题是如何在我的./views/index.php上打印'完成'。有什么选择。
我已经尝试了下面列出的一些。但没有运气。
答案 0 :(得分:3)
最后我解决了我的问题
PAGE:/controllers/index.php
<?php
class Index extends Controller {
function __construct () {
parent::__construct ();
}
function showFeeds () {
return 'done';
}
}
?>
PAGE:./ views / index / index.php
<?php
$_index = new Index ();
$params = $_index -> showFeeds ();
?>
答案 1 :(得分:2)
您最好使用适用于MVC的PHP Framework
一些框架是:
这些框架使用MVC和它们自己的语法,因此使用起来非常简单。 我个人使用Codeigniter,这很容易
例如,在codeigniter中你可以这样做:
控制器:
function showFeed(){
$data['done'] = 'Done';
$this->load->view('yourview', $data);
}
查看:
<?php echo $done; ?>
答案 2 :(得分:0)
在MVC中,一般来说控制器应该处理模型,获取视图,设置视图的数据然后调用视图或返回它以呈现视图。
您要做的是从视图中回调控制器。我建议将showFeeds()
移到模型中。在控制器中,调用模型以获取showFeeds()
的结果并将值传递给视图,最后调用视图进行渲染。
答案 3 :(得分: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,这是您在渲染函数中传递的名称。