在控制器里面的Cakephp 3翻译视图

时间:2015-07-15 21:19:24

标签: php cakephp cakephp-3.0

我知道在控制器中渲染视图然后使用控制器中的帮助器似乎是不好的做法。但我的作品有一个例外。在cakephp 2中它是这样的:

class MyController extends Controller {
    ...
    public function myFunction() {
        $this->set('pagesArray', $pagesArray);
        $this->set('sitemapType', $sitemapType);

        $view = new View($this);
        $viewdata = $view->render('my_function');
        file_put_contents($path, $viewdata);
        ...
        $myData = $view->Myhelper->getData();
    }
    ...
}

这在cakephp 3中是否可行?

2 个答案:

答案 0 :(得分:1)

使用View Cells,它们的设计考虑了这种用例:

http://book.cakephp.org/3.0/en/views/cells.html

否则您只需拨打$response = $this->render(),然后将结果保存到文件中:

file_put_contents($path, $response->body());

答案 1 :(得分:-2)

$view = new View(new Request(), new Response());
$viewdata = $view->render('my_function);