2

MVC フレームワークなしで ZF2 PhpRenderer を使用しようとしています。現在、私はすべてを実装することはできませんが、後でフレームワーク全体を実装できるようになるまで、いくつかのものを変更されたバージョンにリファクタリングし始めたいと考えていました.

Programmer's Reference を使用しようとしています。

私のtester.phpスクリプトの一番上にあります。

use Zend\View\Model\ViewModel,
    Zend\View\Renderer\PhpRenderer,
    Zend\View\Resolver;

その後、スクリプトの後半で、これを使用してスクリプトのレンダリングを開始します。

$renderer = new PhpRenderer();

$map = new Resolver\TemplateMapResolver(array(
    'tester' => __DIR__ . '/tester.phtml',
));

$resolver = new Resolver\TemplateMapResolver($map);

$model = new ViewModel();
$model->setVariable('foo', 'bar');
$model->setTemplate('tester');

echo $renderer->render($model);

私が得るエラーはこれです

テンプレート「テスター」をレンダリングできません。/home/lumberjacked/workspace/www/vendor/zf2/library/Zend/View/Renderer/PhpRenderer.php の 461 行目でリゾルバーがファイルに解決できませんでした

どんな助けでも素晴らしいでしょう。

4

1 に答える 1

5

私は解決策を見つけましたが、それは非常に簡単です。$resolver を宣言した後、$renderer に設定する必要があります。

$renderer->setResolver($resolver);

このメソッドを呼び出すレンダラーのコンストラクターでこれを見つけました。

于 2012-04-25T15:08:56.933 に答える