我试图在没有MVC框架的情况下使用ZF2 PhpRenderer。目前,我无法实现所有内容,但希望开始将一些内容重新分解为修改后的版本,直到我能够在以后的生活中实现整个框架。
我一直在尝试使用程序员参考。
在我的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);
我得到的错误就是这个
无法渲染模板“tester”;解析器无法解析为第461行/home/lumberjacked/workspace/www/vendor/zf2/library/Zend/View/Renderer/PhpRenderer.php中的文件
任何帮助都会很棒。
答案 0 :(得分:5)
我找到了解决方案并且非常简单。声明$ resolver后,你必须在$ renderer中设置它。
$renderer->setResolver($resolver);
我在调用此方法的渲染器的构造函数中找到了这个。