2

「ビューのレンダリング」とは何なのか理解できません。Zend Frameworkのマニュアルを読んでいますが、この用語の使用法はたくさんあります。

ビューを自動的にレンダリングする:

このヘルパーは、ビューオブジェクトをコントローラーに挿入するだけでなく、ビューを自動的にレンダリングします。

ビューのレンダリングを無効にします。

個々のビューのレンダリングを無効にすることもできます

render()ビュースクリプトをレンダリングします。

render()はビュースクリプトをレンダリングします。

そのテンプレートをサブディレクトリにレンダリングします

$ actionに値を渡すと、そのテンプレートが/[controller]/サブディレクトリにレンダリングされます。

等々。

私はそのrender()方法を見つけました。実際、の多くのコンポーネントクラスにZend_Controllerrender()メソッドがあります。しかし、とにかく彼ら全員がとにかくZend_View_Abstractクラスから1人だけを呼び出します。そして、その実現で私が見ることができた唯一のことは、それがhtml-scriptを出力バッファに入れるだけのように見えるということです:

public function render($name) {

        // find the script file name using the parent private method
        $this->_file = $this->_script($name);
        unset($name); // remove $name from local scope

        ob_start();
        $this->_run($this->_file);

        return $this->_filter(ob_get_clean()); // filter output
    }

残念ながら、この_run()メソッドは実現されておらず、何をする必要があるのか​​、スコープにスクリプトを含める方法がわかりません。これは、インクルードとはどういう意味include_once("/myScritp.php")ですか?

/**
 * Use to include the view script in a scope that only allows public
 * members.
 *
 * @return mixed
 */
 abstract protected function _run();

では、「ビューをレンダリングする」とはどういう意味ですか?スクリプトを含めて出力バッファに入れ、変数(return ob_get_clean())に入れてください。

4

4 に答える 4

4

ビューはMVCフレームワークの一部であり、これがZendです。ビューをユーザーへの出力と考えてください。コントローラーはある意味でアクションとルーティングを処理し、モデルは主にデータベースの相互作用を処理します。ビューは変数を設定し、ページがレンダリングされるときにそれらをHTML出力に送信します。

したがって、によってrendering a view、MVCフレームワークはコントローラーでデータを処理し、モデルでバックエンド作業を実行してから、そのデータをビューに送信してユーザーに出力します。

于 2012-06-27T19:22:22.287 に答える
1

Zend Frameworkは、ModelViewControllerの略であるMVCデザインパターンに基づいています。ビューは、html、javascript、css、またはその他の美学を含むプレゼンテーション部分です。

ビューをレンダリングするということは、ユーザーまたはブラウザにHTMLパーツなどのビューを表示することを意味します。サイトのAboutページのコントローラーがあるとしましょう。コントローラーからAboutビューをレンダリングします。つまり、ブラウザーにそのページを表示して、ユーザーが表示しない場合は、空白のページだけが表示されます:)

echohtml / css/jsをブラウザに接続することを考えてください。

于 2012-06-27T19:20:52.383 に答える
0

renderただ放出することを意味します。印刷する。エコーします。いくつかのソース(おそらくstdout)に書き込むため。

于 2012-06-27T19:21:17.477 に答える
0

たとえば、HTML について話しているとします。

レンダリングとは、テンプレートにアプリケーションからの生きたデータを入力し、プレースホルダーと単純なロジック (if-else ステートメントやループなど) を置き換えて、有効な html ファイルにするプロセスです。

于 2012-06-28T14:31:38.810 に答える