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 に答える
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 に答える