如何在CLI应用程序中使用ViewManager?

时间:2016-01-29 10:25:23

标签: php zend-framework2

有一个简单的Zend Framework 2控制台应用程序。一些控制器动作生成文件(html,markdown,json等)。例如:

class ExampleController extends AbstractActionController
{
    public function createAction()
    {
        // Create $contents...
        file_put_contents('./file.html', $contents);
        return 'File successfully created';
    }
}

我想使用ViewManager基于使用视图助手的模板创建文件。我在module.config.php中添加了一些设置:

return [
    // ...
    'view_manager' => [
        'template_path_stack' => [
            __DIR__ . '/../view',
        ],
    ],
];

但我不知道下一步该做什么。如何在CLI应用程序中使用ViewManager?

1 个答案:

答案 0 :(得分:0)

您可以从控制器或工厂(带有注入的servicelocator)调用viewrenderer服务:

$view = $this->getServiceLocator()->get('viewrenderer');

使用此$视图,您可以渲染ViewModel对象。

$content = $view->render($viewModel);

您可以使用setTemplate()在ViewModel上定义模板。